【问题标题】:Django Heroku and postgresqlDjango Heroku 和 postgresql
【发布时间】:2018-02-22 06:20:35
【问题描述】:

我是在 heroku 上发布 django 应用程序的新手。 我已经阅读了他们的教程,并认为我可以从修改他们的 template django project 开始。

到目前为止一切都很好。

然后我像以前一样制作了一个应用程序,制作了一个模型并运行

python3 manage.py makemigrations my_app
python3 manage.py migrate

一切看起来都还不错。

然后我推到heroku,没有立即投诉。

但是,现在当我尝试保存新模型时出现错误:

ProgrammingError at /my_app/
relation "my_app_myappmodel" does not exist
LINE 1: INSERT INTO "my_app_myappmodel" ("field1", "field2", "field3") VALUES...

奇怪...

所以我在本地运行,一切正常。

我尝试过清理我的迁移、伪造我的迁移、压缩我的迁移等(正如其他 S.O. 帖子所建议的那样)

没有任何作用。

发生了什么,我该如何解决?

【问题讨论】:

  • 你做了多少迁移,可以在这里添加代码吗?
  • @BearBrown 实际上只是最初的
  • 您是否在 heroku 实例上运行过“迁移”?
  • @AamirAdnan 这与在本地运行迁移并推送 git repo 有何不同

标签: python django postgresql heroku


【解决方案1】:

推送makemigrations 生成的代码后,您需要在 Heroku 上实际运行迁移。您可以通过heroku run manage.py migrate 进行此操作。

【讨论】:

    【解决方案2】:

    从终端运行以下命令

    heroku run python manage.py migrate
    

    或者你也可以这样做:

    在您的本地 settings.py 中,将您的 DATABASES 变量更改为使用 heroku 变量,然后从终端运行

    python manage.py makemigrations
    python manage.py migrate
    

    但您通常不应该在本地更改 heroku 生产数据库(如选项 2),除非您真的很绝望或不在乎

    【讨论】:

      猜你喜欢
      • 2012-09-01
      • 2012-07-27
      • 2014-04-02
      • 2019-12-06
      • 2015-06-13
      • 1970-01-01
      • 2017-11-14
      • 2021-09-01
      • 2015-04-19
      相关资源
      最近更新 更多