我已经安装了Flask-Migration并初始化了迁移,但是当我运行python3 manage.py db migrate时,我会收到以下错误。
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/alembic/script.py", line 104, in get_revision
raise util.CommandError("No such revision '%s'" % id_)
alembic.util.CommandError: No such revision '38340accc10'正如Cannot complete Flask-Migration中建议的那样,一个可能的原因是我做了一个升级,生成了上面的修订版'38340accc10',但随后删除了整个迁移/目录,并删除了所有升级脚本。
如何删除数据库中的Alembic版本?我尝试使用db.drop_all()和db.create_all()重新创建数据库,但仍然出现相同的错误。
发布于 2016-03-06 00:51:17
如果你能生成一个全新的数据库,那就是解决这个问题的最简单的方法。
首先,您需要删除数据库中的所有表,或者销毁数据库并创建一个全新的表。运行db.drop_all()是不够的,因为这只会删除与模型相关联的表,而不会删除Alembic表。
一旦您有了一个完全空的数据库,您应该能够运行./manage.py db upgrade将其带回您的最新迁移。
如果您收到错误,则意味着您的迁移历史记录已损坏,可能是因为您删除了正在使用的迁移脚本。在这种情况下,您可以清除数据库,清除迁移目录,然后重新开始使用./manage.py db init,然后使用./manage.py db migrate创建与模型的当前状态相匹配的初始迁移。
https://stackoverflow.com/questions/35809706
复制相似问题