Я пытался получить приложение, размещенное на EngineYard, и столкнулся с проблемой подключения к внешней базе данных (не размещенной на Engineyard).
Я только что получил ответ от Engineyard, что они воссоздают файл database.yml на своем конце, и в результате данные удаленного соединения с базой данных теряются.
Ответ от EngineYard
Часть нашего процесса развертывания запишет файл database.yml, чтобы вы могли подключиться к базе данных, которую мы настроили для вас. Если вы используете SSH в своем экземпляре, вы можете увидеть тот, который мы пишем для вас, по адресу /data/mls_data_norm/current/config/database.yml.
Если вы хотите настроить это, вам нужно будет сделать одну из двух вещей. Один из них - установить другой инициализатор или код среды, который будет подключаться к этой другой БД. Другим (и, вероятно, предпочтительным) является использование собственного рецепта шеф-повара для этого. Вы можете прочитать больше об этом здесь:
http://docs.engineyard.com/custom-chef-recipes.html
Я не знаю, как долго я буду хостинг на Engineyard, и мне не нравится идея запускать другой код локально, чем в производственном процессе. Вся эта «рецептность» заставляет меня думать, что в дальнейшем я переписываю эту связь.
Я уверен, что есть способ определить соединение с базой данных вне файла database.yml, но я не знаю как, и мои поиски пока ничего не дали.