【问题标题】:Issue with django DB connectivity on herokuheroku 上的 django DB 连接问题
【发布时间】:2020-02-11 21:28:26
【问题描述】:

我是 django 新手,可能会遗漏一些明显的东西。

我打算创建一个简单的项目并部署在 heroku 上。 由于 Heroku 不支持 sqlite3,所以我在大象 SQL 上设置了一个 postgres 实例。 我已经更改了 settings.py 文件,并且能够从 http://127.0.0.1:8000/ 连接到 postgres 实例。

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.postgresql",
        "NAME": "dummy",
        "USER": "dummy",
        "PASSWORD": "dummy",
        "HOST": "dummy",
        "PORT": "5432"
    }
}

但是,我仍然无法从 heroku 连接。

ProgrammingError at /
relation "home_signup" does not exist
LINE 1: ...e_signup"."email", "home_signup"."timestamp" FROM "home_sign...
                                                             ^

我已经浏览过heroku提供的postgres db,但是免费版本仅限于10行。所以,想到了使用免费提供更好的大象sql。

任何指针都会有很大帮助。


更多细节:

我在大象SQL 中创建了一个实例> 在本地运行迁移> 使用pgAdmin4 工具检查> 表已创建

该项目只是从输入字段中获取文本并添加到表中的列中。它能够在本地插入记录而没有任何问题。我正在使用 pgadmin 检查是否插入了记录。

我没有做任何选择或任何其他数据库操作。

【问题讨论】:

  • 您是否进行了迁移?你做了什么来创建表?
  • 是的 - 我已经运行了迁移。我也使用 pgAdmin4 工具进行了交叉检查 - 所有表都已创建。我可以通过在本地运行 django 项目将记录插入表中。
  • 迁移是什么样的?我怀疑您可能是在一个架构中创建表,但 SELECTing 来自另一个架构 - 也许看看您的 search_path 是如何设置的?
  • @richyen 感谢您的回复。我已更新问题以添加详细信息。请检查一下。

标签: django postgresql heroku


【解决方案1】:

使用 django-heroku。

我使用这个视频来部署我的应用程序:https://www.youtube.com/watch?v=6DI_7Zja8Zc

【讨论】:

    【解决方案2】:

    我终于找到了解决方案。 Heroku 不遵守 settings.py 中提供的数据库详细信息

    Heroku 在其仪表板下有一个名为设置的部分。 在 config vars 部分下,我们需要将 DB TNS 添加为键值对 - key=DATABASE_URL 和 value=DB TNS。

    截图:

    注意:如果您有一个 heroku 配置的 postgre 数据库,DATABASE_URL 将指向 heroku postgre,我们无法编辑该值。我们需要先删除 postgre DB 插件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-16
      • 1970-01-01
      • 2020-10-11
      • 2020-05-16
      • 1970-01-01
      • 1970-01-01
      • 2021-11-06
      相关资源
      最近更新 更多