Rails 忽略关于我的 Heroku PostgreSQL 数据库的 database.yml 细节

Rails ignoring database.yml details about my Heroku PostgreSQL DB

我在 Heroku 上有一个 Rails 应用程序,但出于某种原因,当我部署它时它无法连接到我的生产数据库。似乎忽略了我在 database.yml.

上输入的任何内容

此数据库不是此特定 Heroku 应用程序的附加组件,而是另一个应用程序的附加组件。但是,下面的数据库连接详细信息是正确的。

default: &default
  adapter: sqlite3
  pool: 5
  timeout: 5000

development:
  <<: *default
  database: db/development.sqlite3

test:
  <<: *default
  database: db/test.sqlite3

production:
   adapter: postgresql
   encoding: unicode
   database: asdfasdfasdf # [HIDDEN]
   pool: 5
   host: ec2-xxx-xx-xxx-xx.compute-1.amazonaws.com
   username:  asdfasdfasdf # [HIDDEN]
   port:       5432
   password:  asdfasdfasdfasdfasdfasdf # [HIDDEN]
   timeout: 5000

使用以下命令设置DATABASE_URL

heroku  config:addDATABASE_URL='postgres://asdfasdfasdf:asdfasdfasdf@ec2-xxx-xx-xxx-xx.compute-1.amazonaws.com:5432/asdfasdfasdf'

Heroku 忽略 database.yml 文件属性。您需要将 DATABASE_URL 设置为环境值。

ENV["DATABASE_URL"]= postgres:username:password@host/db_name

另请参阅: Heroku postgresql configuration.