删除迁移文件夹后重置 Alembic

GM *_*row 4 python flask alembic

我不小心删除了我的迁移文件夹。所以我跑了flask db init,一切都顺利进行。但是当我运行时flask db migrate,它给了我这个错误:

INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
ERROR [root] Error: Can't locate revision identified by '470572fac7a1'
Run Code Online (Sandbox Code Playgroud)

据我了解,它正在寻找我早已不复存在的其他迁移文件夹。我该如何解决这个问题?

Mar*_*ink 10

删除/migrations目录并重命名/复制您的应用程序数据库。然后从头开始。

flask db init
flask db migrate
flask db upgrade
Run Code Online (Sandbox Code Playgroud)

现在使用备份中的数据重新填充新的空数据库。


小智 9

您必须删除数据库中的alembic_version表。

连接到您的数据库,然后执行:

DROP TABLE alembic_version;
Run Code Online (Sandbox Code Playgroud)

请检查以下答案以获取有关此问题的更多详细信息/sf/answers/2264962031/


小智 6

删除数据库中 alembic_version 表中的特定记录。只有一个名为 version_num 的 varchar 列,所以这个表达式应该可以工作:

delete from alembic_version where version_num='470572fac7a1';