我正在尝试将两个Heroku应用程序连接到一个数据库。所以我压倒了DATABASE_URL。现在heroku配置为:
=== muse-me Config Vars
DATABASE_URL: postgres://rbbcoxizviewiu:taJsBZf...
GEM_PATH: vendor/bundle/ruby/1.9.1
HEROKU_POSTGRESQL_OLIVE_URL: postgres://jnlltenwyvmdup:Q5Doaw...
LANG: en_US.UTF-8
PATH: bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin
RACK_ENV: production
RAILS_ENV: production
然后我跑
heroku pg:psql DATABASE_URL
它给了我一个错误:
! Unknown database: DATABASE_URL. Valid options are: HEROKU_POSTGRESQL_OLIVE_URL
我该怎么办?我是否真的使用DATABASE_URL连接到数据库?
由于
答案 0 :(得分:2)
“DATABASE_URL”只是“HEROKU_POSTGRESQL_OLIVE_URL”的占位符。如果您运行:
heroku pg:psql HEROKU_POSTGRESQL_OLIVE_URL
这应该有效,因为您明确告诉pg使用哪个数据库URL。为了能够在不指定db的情况下使用该命令,您需要将其升级为主数据库:
heroku pg:promote HEROKU_POSTGRESQL_OLIVE_URL
heroku pg:psql
有关推广的更多信息位于此处:https://devcenter.heroku.com/articles/heroku-postgresql#pgpromote
答案 1 :(得分:-1)
运行时
heroku pg:psql DATABASE_URL
heroku尝试连接到URL:DATABASE_URL,它显然不存在,它确实读取了ENV var DATABASE_URL
因此,如果您位于应用的文件夹中,只需运行
即可heroku pg:psql
就足够了,否则,您可以指定应用
heroku pg:psql --app <YOUR_APP>
然后heroku将从它连接的应用程序中读取DATABASE_URL变量。