我试图启动我的数据库并为flask运行,当我输入flask db migration -m“ users table”时出现问题。它一直给我一个错误,上面写着:
ERROR [root] Error: Can't locate revision identified by '1cccee45d6e7'
我尝试删除迁移文件,然后重新运行代码以在cmd中启动数据库:
(venv) $ flask db init
哪个工作正常,并在flask应用程序目录中创建了一个新的迁移文件。然后我做了:
(venv) $ flask db migrate -m "users table"
这是我再次遇到问题的地方:
(venv) C:\sitesfolder\microblog\app>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 '1cccee45d6e7'
我正在关注this tutorial。
答案 0 :(得分:0)
免责声明:以下解决方案并不适合每种情况。
通常,这意味着您的数据库与迁移文件不同步。在应用迁移后删除修订文件时,可能会发生这种情况。检查您的数据库,它应该包含一个表,其中包含上一次应用的迁移。如果该版本没有文件,您将收到Can't locate revision...
错误。
如果仅是开始迁移,一种可能的解决方案是:
但是,如果您已经对源代码管理进行了某些修订并应用于其他部署(例如其他开发人员的机器或服务器),则可能会产生某些不良后果。基本上,所有环境都需要以这种方式重新初始化,但是,再次,如果您只是从头开始,那可能不会实现。
答案 1 :(得分:0)
只需根据迁移中的版本文件夹更改数据库中的alembic_version。然后对我有用。
答案 2 :(得分:0)
您可以使用以下命令简单地解决问题。
flask db revision --rev-id 1cccee45d6e7
flask db migrate
flask db upgrade