如何清除历史记录并从一开始就运行所有迁移?

时间:2015-05-28 13:23:36

标签: python migration alembic

如何使用alembic清除历史记录?我无法在alembic history中找到此选项。我想从第一次迁移而不是最后一次迁移运行。

3 个答案:

答案 0 :(得分:4)

如果要从新数据库开始,只需删除数据库,创建一个新数据库,然后运行迁移。例如,使用PostgreSQL:

$ dropdb my_db
$ createdb my_db
$ alembic upgrade

现在您有一个空白数据库,其中已应用所有迁移。

答案 1 :(得分:2)

Alembic正在跟踪数据库上alembic_version表中的迁移。

使用以下命令从头开始简单地删除表: DROP TABLE alembic_version;

然后尝试再次运行迁移!

答案 2 :(得分:0)

在最新版本的alembic(0.7.6)中,您可以使用stamp命令:

alembic stamp base

此命令将清除迁移历史记录,但不会还原任何已应用的迁移。