flask在使用flask-migrate时遇到的数据迁移问题
报错如下:
Can't locate revision identified by '1bb084d3cc2c'
在使用flask-migrate时 我们熟悉的命令:
python manage.py db init 每个项目执行一次 他负责生成迁移包
python manage.py db migrate 生成迁移文件
python manage.py db upgrade 执行上升操作(执行迁移信息)
python manage.py db downgrade 执行下降操作
python manage.py db --help 查看帮助文档
在进行数据迁移时 我们用到的命令
python manage.py db init 每个项目执行一次 他负责生成迁移包
python manage.py db migrate 生成迁移文件
python manage.py db upgrade 执行上升操作(执行迁移信息)
解决方法:
一
确定你执行的是以上三个命令 python manage.py db init
只需要执行一次
二
确认你当前使用的数据库没有存放除了models.py
中模型对应的表以外的表。如果有,请手动备份到另一个数据库。由于存在这些无关表,flask-migrate尝试去删除这些无关表,当这些表存在外键索引时,删除失败,则可能导致数据库迁移失败
三
数据库没有其他无关表 删除数据库中的alembic_version表
在删除migrations
文件夹 重新执行上面三个命令