我在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
答案 0 :(得分:2)
Heroku忽略database.yml
文件属性。您需要将DATABASE_URL
设置为环境值。
ENV["DATABASE_URL"]= postgres:username:password@host/db_name
答案 1 :(得分:1)
使用以下命令设置DATABASE_URL
heroku config:addDATABASE_URL='postgres://asdfasdfasdf:asdfasdfasdf@ec2-xxx-xx-xxx-xx.compute-1.amazonaws.com:5432/asdfasdfasdf'