Не удается открыть консоль rails: рабочая база данных не настроена, install_connection вызывает ActiveRecord :: AdapterNotSpecified

Мое приложение работает почти идеально в продакшене - по крайней мере, веб-сайт. Проблема возникает только тогда, когда я использую SSH в свой VPS и выполняю «rails c RAILS_ENV = production». Консоль отлично работает в режиме разработки.

У меня была эта проблема раньше (или, по крайней мере, одна похожая), и я исправил ее, добавив «reconnect: true» в database.yml - но это не помогло. на этот раз. Вот начало сообщения об ошибке:

/home/tour/.rvm/gems/ruby-1.9.2-p0/gems/activerecord-3.0.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:62:in `establish_connection': RAILS_ENV=production database is not configured (ActiveRecord::AdapterNotSpecified)
from /home/tour/.rvm/gems/ruby-1.9.2-p0/gems/activerecord-3.0.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:55:in `establish_connection'
from /home/tour/.rvm/gems/ruby-1.9.2-p0/gems/activerecord-3.0.0/lib/active_record/railtie.rb:59:in `block (2 levels) in <class:Railtie>'
from /home/tour/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.0.0/lib/active_support/lazy_load_hooks.rb:36:in `instance_eval'
from /home/tour/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.0.0/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
from /home/tour/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.0.0/lib/active_support/lazy_load_hooks.rb:26:in `on_load'
from /home/tour/.rvm/gems/ruby-1.9.2-p0/gems/activerecord-3.0.0/lib/active_record/railtie.rb:57:in `block in <class:Railtie>'
from /home/tour/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.0/lib/rails/initializable.rb:25:in `instance_exec'
from /home/tour/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.0/lib/rails/initializable.rb:25:in `run'
from /home/tour/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.0/lib/rails/initializable.rb:50:in `block in run_initializers'

И для настроек моей производственной базы данных:

production:
  adapter: mysql
  encoding: utf8
  database: tour_production
  pool: 5
  username: [user]
  password: [password]
  socket: /var/run/mysqld/mysqld.sock
  reconnect: true

Я могу ' Я не понимаю, почему это работает через пассажира, но не повезло с консолью. В любом случае, я использую Rails 3, Ruby 1.9.2, Passenger и Nginx.

Я проделывал кое-какие мелочи через Runner, что меня раздражает. Я бы хотел это исправить. Так что большое спасибо за любую помощь.

15
задан Nathan 6 September 2010 в 20:45
поделиться