【问题标题】:Switching django-cms project from sqlite to postgres将 django-cms 项目从 sqlite 切换到 postgres
【发布时间】:2017-09-07 21:33:09
【问题描述】:

我正在尝试将现有 django-cms project 的数据库后端从 sqlite3 切换到 postgresql。当我从一个新的 sqlite 数据库开始并应用所有 migrations 时,一切正常。如果我对新的 postgres 数据库执行相同操作,一切似乎都正常,但在尝试执行任何操作时出现以下错误:

django.db.utils.ProgrammingError: relation "cms_urlconfrevision" does not exist 
LINE 1: ...sion"."id", "cms_urlconfrevision"."revision" FROM "cms_urlco...

我在运行 runserver 时收到一条警告,指出存在 unapplied migrations,尽管迁移列表显示所有已应用,并且再次运行 migrate 没有任何作用(makemigrations 也没有任何作用)。 cms_urlconfrevision 表存在于数据库中,带有 id 和 revision 字段,所以我不知道在哪里进一步查找。

添加版本:django 1.9.7、django-cms 3.4.4

【问题讨论】:

    标签: python django django-cms


    【解决方案1】:

    选择一个新的数据库后,首先注释掉你放在INSTALLED_APPS中的所有其他应用程序。然后makemigration并迁移。如果可行,则添加other appscreate migrations and migrate

    如果还是不行。

    尝试从每个应用的迁移目录中删除所有之前创建的迁移。然后又是makemigrations and migrate

    【讨论】:

    • 我已经尝试在已安装的应用程序中注释掉应用程序以逐步进行,但问题仍然存在。我有点担心从所有应用程序中删除所有迁移。您是否建议从 pip 安装的应用程序进行所有迁移,而不仅仅是项目中的应用程序?
    • 实际上对于您创建的任何应用程序。
    • 好的,成功了。不知道为什么我没有尝试,谢谢!
    猜你喜欢
    • 2021-07-02
    • 2014-10-27
    • 2016-10-18
    • 2018-10-13
    • 1970-01-01
    • 1970-01-01
    • 2017-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多