Исключение ActiveRecord :: AdapterNotSpecified возникает при подключении Heroku <-> Postgres (EC2) - PullRequest
1 голос
/ 31 мая 2011

У меня есть приложение Heroku, которое пытается подключиться к базе данных Postgres на EC2.Вот проблема, которую я получаю:

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.Вот некоторые другие вещи, которые могут помочь:

  1. Я могу подключиться к базе данных postgresql с помощью администратора psgql на моем компьютере (демонстрируя, что переадресация портов и прослушивание хостов настроены правильно..и нет, я не позволяю войти ТОЛЬКО моему IP - его дикий символ, позволяющий подключаться всем ips)

  2. Версия postgresql, которую я использую на EC2, - 8.4, аHeroku обычно использует 9.0 в своих общих базах данных.Может ли это быть проблемой?(причина, по которой я не исправил это потому, что я не знаю, где найти pg_upgrade ...)

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 31 мая 2011

@ 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]

, чтобы узнать, сможете ли вы еще изолировать проблему.

0 голосов
/ 12 октября 2012

проблема в том, что heroku перезаписывает database.yml .... поэтому, когда вы вызываете ActiveRecord :: Base.establish_connection (: external_db), для этого db

нет определения .yml
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...