У меня есть 4 среды Rails.Производственная среда использует промежуточную базу данных, а не производственную базу данных
- тест
- развитие
- постановка
- производство
Рельсы развернутую прекрасно стадирования и производства, за исключением того факта, что производство Rails использует устроив базу данных вместо базы данных. Что я делаю не так? Что еще не проверил? Есть ли что-то в Капистрано, где нужна настройка базы данных?
Вот что нужно отметить.
Мое config/database.yml
четко отличает базы постановки и производства.
staging:
adapter: mysql2
encoding: utf8
database: some_app
pool: 5
username: some_user
password: some_pass
host: staging.zzzzz.com
port: 1911
production:
adapter: mysql2
encoding: utf8
database: some_app
pool: 5
username: some_user
password: some_pass
host: production.zzzzz.com
port: 1611
Рельсы среда для производства и постановки идентичны. Иными словами, config/environments/staging.rb
и config/environments/staging.rb
идентичны.
Пассажирский сервер в рабочей среде должен запускать приложение Rails в производственной среде. См линии RailsEnv production
<VirtualHost *:80>
LoadModule passenger_module /opt/ruby-enterprise-1.8.7-2011.12/lib/ruby/gems/1.8/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /opt/ruby-enterprise-1.8.7-2011.12/lib/ruby/gems/1.8/gems/passenger-3.0.11
PassengerRuby /opt/ruby-enterprise-1.8.7-2011.12/bin/ruby
PassengerMaxPoolSize 20
Include conf/rhapcom.conf
Include conf/maintenance.conf
Include conf/redirects.conf
DocumentRoot /var/rails80/current/public
<Directory /var/rails80/current/public>
RailsEnv production
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
Include conf/oldrotw.conf
После некоторого исследования, я обнаружил, что производство приложение на самом деле работает в среде интеграции. Я проверил это через Rails.env
. Как указать в рабочем приложении, что он должен работать в среде production
?
Куда должна идти эта линия? –
В коде выше ... заменить 'RailsEnv production'. – Substantial
Показывает, что он работает в стадии –