ERROR未知数据库:覆盖heroku应用程序中的DATABASE_URL后的DATABASE_URL

时间:2012-10-09 05:55:11

标签: ruby-on-rails-3 heroku postgresql-9.1

我正在尝试将两个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连接到数据库?

由于

2 个答案:

答案 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变量。