0

我想在一个应用程序上有 2 个数据库。从Connecting Rails 3.1 with Multiple Databases 我知道如何在我的本地机器上设置它,我知道如何通过更改环境变量链接到不同的 heroku 数据库。但是因为我的 database.yml 看起来像

development:
    adapter: postgresql
    database: first_database
log_development:
    adapter: postgresql
    database: second_database
production:
    adapter: postgresql

我不知道如何将生产应用程序链接到两个不同的数据库,因为生产从 DATABASE_URL env 获取数据库的位置。我需要一个 DATABASE_URL2 并以某种方式告诉生产动态使用任一 env 变量。

4

1 回答 1

0

Heroku 在部署时重写 database.yml。它使用 DATABASE_URL 环境变量为您创建一个 database.yml 文件。无法添加第二个配置值,该值将在生成的 database.yml 中创建第二个条目。

有一些方法可以更新数据库配置,以便您可以在本地使用 database.yml 并让它在 heroku 上以您想要的方式工作。将 database.yml 注入应用程序的一种方法是使用 heroku_db_env gem:

https://github.com/skryl/heroku_db_env

您可以将带有附加数据库配置的 database.yml 移动到 gem 指定的文件中,然后您就可以像在本地一样在 Heroku 上的生产环境中访问它们。

于 2013-10-25T20:29:57.830 回答