2014-10-01 2 views
0

Моя цель состоит в том, чтобы иметь 2 базы данных и 2 развертывания рельсов на одном сервере. Я хочу иметь регулярный производственный сервер, используя производственную базу данных. Затем я хочу иметь возможность развертывать другой веб-адрес, который будет использовать другую базу данных. Моя цель - перенести резервное копирование и убедиться, что все миграции и т. Д. Работают в полной среде. Затем я вытащил его на главный сервер.Может ли Rails 2 разные базы данных в производственной среде?

Проблема, с которой я сталкиваюсь, заключается в том, что в файле database.ml перечислены только 3 типа баз данных. В пассажирской среде также предполагается, что ее запуск в производство и миграция основной базы данных MySQL, даже если я развожу код в другой каталог. Каков наилучший способ обойти это? Интересно, просто ли это или связано с множеством переменных во многих местах? Любые предложения были бы замечательными!

ответ

1

Вы можете добавить другие типы баз данных в базу данных.yml по своему усмотрению.

staging: 
    adapter: postgresql 
    host: mydb_host 
    database: mydb_staging 
    etc... 

Вы можете скопировать конфигурационный/среду/production.rb для конфигурации/сред/staging.rb и оставить его как есть, так что две среды являются точно такими же, или настроить staging.rb, как вы считаете нужным.

Теперь у вас есть промежуточная среда! Используйте его там, где это необходимо, например .:

rake RAILS_ENV=staging db:migrate 

Я не эксперт пассажира, но знаю, что мой магазин имеет и поэтапность и производственные экземпляры приложений, работающие на тот же сервер под пассажиром, так что это может быть сделано. Возможно, Google может лучше проинструктировать вас о настройке, чем я могу.

+0

Похоже, это может быть так же просто, как положить это в конфигурацию виртуальных кроватей: rails_env staging – MechDog

+0

Для пассажира. Спасибо за помощь!!! – MechDog