尝试将AWS RDS数据库连接到生产中的Heroku应用时,数据库不存在错误

时间:2019-05-13 16:51:31

标签: django amazon-web-services heroku amazon-rds heroku-postgres

我在Heroku上部署了Cookiecutter Django应用。现在,我想将AWS RDS用作生产中的数据库。

我已经使用此问题https://stackoverflow.com/questions/35247347/point-heroku-application-to-aws-rds-database和另一个博客来设置所有内容。

因此在AWS RDS上创建了db,根证书位于我的根文件夹中,并且设置了heroku变量。在我的实例上启用了SSL并设置了安全组。

当我推送到Heroku时,它可以很好地部署,但是release命令无法引发此错误:

django.db.utils.OperationalError: FATAL:  database "mydatabasename" does not exist

我已经尝试解决此问题,但到目前为止无法解决。

当我运行heroku config --app myapp时,您可以看到我的变量:

DATABASE_URL:                   postgresql://myusername:mypass@mydatabasename.ce4s6szy2j0h.eu-central-1.rds.amazonaws.com/heatbeat-test2?sslrootcert=rds-combined-ca-bundle.pem

DJANGO_ALLOWED_HOSTS:           example.de,example.herokuapp.com
DJANGO_DEBUG:                   False
DJANGO_SETTINGS_MODULE:         config.settings.production
POSTGRES_DB:                    mydatabasename
POSTGRES_HOST:                  mydatabasename.ce4s6szy2j0h.eu-central-1.rds.amazonaws.com
POSTGRES_PASSWORD:              mypass
POSTGRES_PORT:                  5432
POSTGRES_USER:                  myusername
PYTHONHASHSEED:                 random

所以,我确定数据库已经存在。 Si我认为它必须是不正确的POSTGRES_DB或DATABASE_URL。我还尝试使用postgres作为POSTGRES_DB的值,因为文档说这是默认名称。还是同样的错误,实际上我将数据库的名称设置为mydatabasename,因此应该是正确的设置。

或者也许我必须在创建数据库后在AWS上启动一些东西?

我感觉我是如此亲密,这只是我看不到的一个小问题。...

有人可以帮忙吗?非常感谢,在此先感谢

0 个答案:

没有答案