如何从头开始清除历史记录和 运行 所有迁移?

How to clear history and run all migrations from the beginning?

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

如果您想从一个新的数据库开始,只需删除数据库,创建一个新数据库,然后 运行 迁移。例如,对于 PostgreSQL:

$ dropdb my_db
$ createdb my_db
$ alembic upgrade head

现在您有一个应用了所有迁移的空白数据库。

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

alembic stamp base

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

Alembic 正在跟踪您数据库中 alembic_version table 中的迁移。

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

然后再次尝试 运行 迁移!

您可以使用:

alembic downgrade base

此命令将撤消所有迁移。

(source)