撤消上次 Alembic 迁移

Undo last Alembic migration

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

如何还原迁移以便我可以调整它并重试?

假设你只想返回一个版本,使用alembic downgrade with a relative migration identifier of -1:

alembic downgrade -1

这将 运行 您最新版本的 downgrade() 方法并更新 alembic_version table 以指示您现在所在的版本。

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

alembic history

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

alembic downgrade 8ac14e223d1e

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