【问题标题】:flask-migrate: can't upgrade database becase "table does not exist"烧瓶迁移:无法升级数据库,因为“表不存在”
【发布时间】:2016-04-02 13:29:57
【问题描述】:

我正在使用带有 postgres 数据库的 sqlalchemy 开发一个烧瓶应用程序。我正在使用烧瓶迁移迁移我的数据库。 我不得不更改数据库中一张表的名称,并且在尝试迁移(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

这可能是因为我刚刚手动删除了表格? 有谁知道我怎样才能摆脱这个烂摊子? 谢谢卡尔

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2017-03-07
      • 1970-01-01
      • 2019-04-27
      • 2018-10-26
      • 2016-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-26
      相关资源
      最近更新 更多