数据迁移 migrate 和升级 upgrade 时出错

2016-05-07 15:11:47 +08:00
 vJianZhen

用 Flask 做开发,集成 Flask-Sqlalchemy 来管理数据。

之前一直用 python manage.py db migratepython manage.py db upgrade 根据模型的定义来往 MySQL 数据库生成 /更改 /删除表,工作正常。但是前天起,突然遇到了错误:

错误信息输出点击这里

看起来我做错了什么,但是这个问题一直没有解决。

根据提示,我把数据库中的 topics 表 手动删除,之后 upgrade 就可以运行,但是下一次再 migrate ,它又检测到 topics 表 被我删了,似乎尝试再创建这个表;迁移脚本生成后,用 upgrade 又报『 topics 表已存在』的错误……然后就又回到了这个错误的循环了!

这个 topics 表 我是需要的,不能每次都通过删除表来避开这个错误。

请教各位,怎么跳出这个坑?任何想法或尝试都可以,谢谢。

3220 次点击
所在节点    Python
3 条回复
boneyao
2016-05-08 00:37:30 +08:00
Hi, 应该是你的版本混乱掉了,
可以尝试 去找到 对应版本的迁移脚本,然后注释掉 创建 Topics 表 的代码,然后 upgrade
不过这样会导致你后面 downgrade 可能也会出问题

希望能帮到你
boneyao
2016-05-08 00:38:29 +08:00
应该是文件名 1021ab6af070_xxxx.py 里面
vJianZhen
2016-05-08 10:20:09 +08:00
@boneyao 谢谢你的建议。稍后我试试。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/276963

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX