В моем эластичном бобовом стебле - варианты контейнера. RACK_ENV
установлен в staging
.Почему Пассажир смотрит на промежуточную среду?
В самом деле, если я SSH в экземпляр EC2 и сделать rails console
в /var/app/current/
, а затем ввести Rails.env
возвращает staging
.
Чтение http://www.modrails.com/documentation/Users руководства Nginx.html # RackEnv
Он говорит, чтобы установить RACK_ENV
переменные, так как по умолчанию, значение production
.
Вы бы предположить, все будет работать, за исключением бревен Elastic Beanstalk, он говорит:
[ 2013-11-18 14:28:26.4677 8061/7fb5fe01a700 Pool2/Implementation.cpp:1274 ]: [App 7428 stdout] PG::ConnectionBad (FATAL: database "foobar_production" does not exist
foobar_production
база данных не существует, но foobar_staging
делает. Так почему Пассажир все еще смотрит на производственную среду, когда он должен смотреть на постановку.
Этот метод для соединений с базой данных также рекомендуется практиковать из AWS, конечно, для конфигурируемости, но также для предотвращения проверки чувствительных строк подключения в исходное управление. Конечно, вы можете ограничить отверстия в настройке RDS, но это дополнительная мера предосторожности. – Michael