1

我在瘦服务器上运行一个 Rails 应用程序。我正在使用基于 eventmachine的 postgres 驱动程序 ,它可以在我的本地机器上完美运行。

当我尝试在 heroku 上部署时,em_postgres驱动程序不起作用,应用程序无法连接到数据库。在本地,我将config/database.yml文件中的适配器设置为em_postgresql而不是 postgres。由于 Heroku 覆盖了您的database.yml文件,我尝试更改DATABASE_URL环境变量中的适配器,但没有奏效,它似乎仍在尝试使用标准的 postgres 驱动程序。

有谁知道如何在 Heroku 中正确配置数据库适配器?

4

1 回答 1

1

Heroku 生成 database.yml 文件并始终将适配器放入“postgresql”

要覆盖它,您可以覆盖 database_configuration 方法

在您的 config/application.rb 文件中,您可以添加以下内容以在 activerecord 加载之前更新配置

def config.database_configuration
  parsed = super
  parsed[Rails.env]['adapter'] = "em_postgresql"
  parsed[Rails.env]['pool'] = 20
  parsed
end
于 2013-04-08T00:42:41.993 回答