错误代码:ERROR [root] Error: Target database is not up to date flask migrate

网上查询了一些方式,但是并不是很实用,没有完全解决,但是结合了几种方式一起解决了这个问题,具体解决方案如下:

步骤如下:

1.查询数据库版本 flask db heads

2.合并查询到的数据库各版本 flask db stamp 版本1 版本2 ;

3.合并后迁移最新成功的版本,可以用flask db heads查询合并后版本 ,合并方式为 flask db stamp 新版本号 ;

4 更新数据库版本 最终解决问题。

# 第一步:查询目前存在的数据库版本
flask db heads
# 第二步 查询目前现在使用的数据库版本
flask db current
# 这个时候,肯定可以发现,flask db heads会出现多条数据,与现在的数据库版本并不完全一致
# 下一步非常重要,就是将目前存在的数据库版本进行合并 
# 比如查询的数据库版本为
flask db heads
e38935822969 (head)
f55fde3d62b1 (head)
#合并方式为
flask db merge e38935822969 f55fde3d62b1
Generating /vagrant/migrations/versions/ecb671d1eb4b_.py … done
# 合并完成后并不能马上更新数据库,这样会报错,必须先对合并后的单条数据库版本进行迁移
flask db stamp ecb671d1eb4b
# 迁移完成后,再次使用更新数据库版本功能
flask db upgrade
# 成功提交,后面就可以正常的使用数据库更新功能了,就是这么简单。

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐