Как заставить Rails работать с производственной базой данных (а не с базой данных разработки) при развертывании? - PullRequest
6 голосов
/ 25 марта 2011

Я пытаюсь загрузить свое приложение Rails 3 в реальную производственную среду.(Приложение отлично работает на моей локальной машине).

Когда я запускаю rails c , я получаю следующую ошибку:

/home/misha_moroshko/.gems/gems/activerecord-3.0.1/lib/active_record/connection_adapters/abstract/connection_specification.rb:62:in `establish_connection': development database is not configured (ActiveRecord::AdapterNotSpecified)
        from /home/misha_moroshko/.gems/gems/activerecord-3.0.1/lib/active_record/connection_adapters/abstract/connection_specification.rb:55:in `establish_connection'
        from /home/misha_moroshko/.gems/gems/activerecord-3.0.1/lib/active_record/railtie.rb:59
        from /home/misha_moroshko/.gems/gems/activesupport-3.0.1/lib/active_support/lazy_load_hooks.rb:36:in `instance_eval'

Как мне сообщить Rails, что оноработать с производственной базой данных, а не с разработкой?

Ответы [ 3 ]

21 голосов
/ 25 марта 2011

Сначала установите переменную среды RAILS_ENV или передайте ее команде rails c:

RAILS_ENV=production rails c

ИЛИ

rails c production
4 голосов
/ 25 марта 2011

что находится в вашем database.yml? он должен иметь производственную настройку, и вам нужно будет сообщить рельсам, что вы хотите запустить его в производство:

rails c production
1 голос
/ 25 марта 2011

Это в значительной степени зависит от «среды», в которую вы развертываете. Для Apache и Passenger можно установить:

# conf/passenger.conf
RailsEnv production
RackEnv production
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...