flask-migrate:无法升级数据库因为“表不存在”

时间:2016-04-02 13:29:57

标签: python postgresql sqlalchemy flask-sqlalchemy flask-migrate

我正在使用sqlalchemy和postgres数据库进行烧瓶应用程序。我正在使用flask-migrate迁移我的数据库。 我不得不更改数据库中某个表的名称,并且在尝试迁移时(flask-migrate)我收到错误

sqlalchemy.exc.InternalError: (psycopg2.InternalError) cannot drop table category_announcement_date because other objects depend on it
DETAIL:  constraint announcement_dates_id_fkey on table announcement_dates depends on table category_announcement_date
HINT:  Use DROP ... CASCADE to drop the dependent objects too.
[SQL: '\nDROP TABLE category_announcement_date']

我不知道如何告诉flask-migrate有关此问题,所以我提出了手动执行此操作的好主意,因此我转到psql并将该表与CASCADE命令一起删除,如错误消息所示。这一切都很好,但现在我无法完成迁移?在运行升级时我得到了

python manage.py db upgrade
...
sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) table "category_announcement_date" does not exist

这可能是因为我只是手动丢弃了表格? 有谁知道我怎么能摆脱这个烂摊子? 谢谢卡尔

1 个答案:

答案 0 :(得分:1)

好的我注意到删除版本文件并重复迁移就可以了 干杯 FL