撤消上次 Alembic 迁移

我用 alembic revision --autogenerate创建了一个迁移,用 alembic upgrade head将它应用到我的开发数据库,然后意识到它并不完全是我想要的。

我如何恢复迁移,以便我可以调整它并再次尝试?

65543 次浏览

假设您只想返回 修订版,那么使用 alembic downgrade,其 相对迁移标识符为 -1:

alembic downgrade -1

这将运行您最新修订版的 downgrade()方法,并更新 alembic_version表以指示您现在的修订版。

如果需要返回多次迁移,请运行

alembic history

查看项目中所有迁移的列表(从最新到最旧) ,然后复制并粘贴要返回的迁移的标识符:

alembic downgrade 8ac14e223d1e

目前没有从版本目录进行 删除迁移的命令,所以如果您想完全清除所有错误迁移的痕迹,您需要手动删除版本文件(如 4c009570237e_add_widget_table.py)。

只是给马克 · 艾默里的一个提示:

如果您想要运行到某个版本的降级() ,则需要运行 alembic downgrade the-version-before-it,这意味着它将在您想要降级的版本之后恢复到该版本。< br > < br > 例如,您运行 alembic history并获得以下列表:

enter image description here

假设您想要恢复到 cdd99ec41968,那么您必须运行 command:

alembic downgrade 15972effcbd3

这是我们要还原的版本之前的版本。

希望够清楚。