2

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

谢谢

4

2 回答 2

3

“DATABASE_URL”只是“HEROKU_POSTGRESQL_OLIVE_URL”的占位符。如果你运行:

heroku pg:psql HEROKU_POSTGRESQL_OLIVE_URL

这应该有效,因为您明确告诉 pg 要使用哪个数据库 url。为了能够在不指定数据库的情况下使用该命令,您需要将其提升为您的主数据库:

heroku pg:promote HEROKU_POSTGRESQL_OLIVE_URL
heroku pg:psql

有关提升的更多信息位于此处:https ://devcenter.heroku.com/articles/heroku-postgresql#pgpromote

于 2013-02-09T23:16:12.610 回答
-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 变量。

于 2012-10-09T12:11:13.337 回答