使用 upgrade 应用迁移与回滚
让模式向前或向后变更
使用 upgrade 应用迁移与回滚 是 CoddyKit 上的免费 Flask Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Flask Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Flask Academy 课程共包含 4 节课。
本课时的部分内容尚未翻译,以英文显示。
From Script to Schema
You have a migration file, but the database has not changed yet. One command turns that script into real tables. 🚀
Run upgrade
flask db upgrade runs every pending migration and brings your database up to the latest version in order.
flask db upgradeIt Calls upgrade()
Behind the scenes Alembic executes the upgrade function inside each pending script, applying its create and alter operations.
def upgrade():
op.create_table("user", ...)The Version Gets Stamped
After a successful run, the new revision id is saved in the alembic_version table so Alembic remembers where you are.
Only Pending Ones Run
upgrade is smart: it skips migrations already applied and runs only the pending ones, so re-running it is safe.
Made a Mistake?
If a migration went wrong, you do not edit the database by hand. You roll back to a known good version instead.
Roll Back with downgrade
flask db downgrade reverses the last migration by running its downgrade function, undoing the most recent change.
flask db downgradeTarget a Specific Revision
Both commands accept a target. Pass a revision id to move directly to that exact point in your migration history.
flask db upgrade a1b2c3d4Check Where You Are
Run flask db current anytime to print the revision your database sits on right now. Great for a quick sanity check.
flask db currentRead the History
flask db history lists every migration in order, so you can see the full path from the first revision to the latest.
flask db historyApply in Production
On deploy you run upgrade as a release step, never migrate. Production simply replays the scripts your team already reviewed.
Quick Check
The last migration broke something. How do you undo just that one change?
Recap
You applied changes with flask db upgrade, reversed them with downgrade, and learned to check current and history. 🎉
常见问题解答
「使用 upgrade 应用迁移与回滚」课时是免费的吗?
是的 — 「使用 upgrade 应用迁移与回滚」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Flask Academy 课程的其余内容,请升级到 CoddyKit PRO。 Flask Academy 课程共包含 4 节课。
「使用 upgrade 应用迁移与回滚」这节课中我会学到什么?
让模式向前或向后变更 你通过在浏览器中直接运行的动手代码来练习 Flask Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Flask Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Flask Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「使用 upgrade 应用迁移与回滚」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Flask Academy 课中编写并运行代码吗?
能。每节 Flask Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 为什么需要迁移而不是 create_all
- 初始化并自动生成迁移
- 使用 upgrade 应用迁移与回滚
- 检查并编辑生成的脚本