连接Heroku <-> PostgresEC2时,发生ActiveRecord :: AdapterNotSpecified异常

问题描述

| 我有一个Heroku应用,它正在尝试连接到EC2上的Postgres DB。这是我遇到的问题:
2011-05-30T23:07:48+00:00 app[web.1]: /app/.bundle/gems/ruby/1.8/gems/activerecord-3.0.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:66:in `establish_connection\': database configuration does not specify adapter (ActiveRecord::AdapterNotSpecified)

2011-05-30T23:07:48+00:00 app[web.1]:   from /app/.bundle/gems/ruby/1.8/gems/activerecord-3.0.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:60:in `establish_connection\'
我已按照此处描述的heroku说明在heroku应用程序上设置数据库配置。以下是一些其他可能有用的内容: 我可以使用计算机上的psgql管理员连接到postgresql db(显示端口转发和侦听主机的端口设置正确。.并且不,我不允许我的IP只输入-通配符,以便所有ips可以连接) 我在EC2上运行的postgresql版本是8.4,而Heroku通常在其共享数据库上使用9.0。这可能是问题吗? (我之所以没有解决这个问题,是因为我不知道在哪里可以找到pg_upgrade ...) 提前致谢!     

解决方法

        @amehta,不,8.4和9.0并不是您的问题。我天真的猜测是您的配置丢失了:
adapter: postgresql
问题完全在您的Heroku设置内部。尝试从Heroku手动连接到EC2:
require \'postgres\'
conn = PGconn.connect(\'amazone-host\',5432,\'\',\'dbname\',\'username\',\'pass\')
puts conn.exec(\'SELECT version()\')[0]
看看是否可以进一步隔离问题。     ,        问题是heroku覆盖了数据库.yml ....所以当您调用ActiveRecord :: Base。Establishment_connection(:external_db)时,该数据库没有.yml定义     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...