我在瘦服务器上运行rails应用程序。我正在使用事件机based postgres driver,它在我的本地机器上运行完美。
当我尝试在heroku上部署时,em_postgres
驱动程序无效,应用程序无法连接到数据库。在本地,我将config/database.yml
文件中的适配器设置为em_postgresql
而不是postgres。由于Heroku覆盖了您的database.yml
文件,我尝试更改DATABASE_URL
环境变量中的适配器,但是没有用,它似乎仍在尝试使用标准的postgres驱动程序。
有谁知道如何在Heroku中正确配置数据库适配器?
答案 0 :(得分: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