Ах да, старая война разработчиков db config.
Heroku на самом деле использует решение этой проблемы - Rails объединяет конфигурацию базы данных из database.yml
с ха sh, созданным в результате анализа ENV["DATABASE_URL"]
. ENV var имеет приоритет над конфигурацией на основе файлов.
Когда вы впервые запускаете приложение pu sh для Rails, Heroku автоматически присоединяет дополнение Postgres и устанавливает ENV["DATABASE_URL"]
, а ваше приложение волшебным образом подключается к базе данных. .
Даже если вы добавите полные бессмысленные настройки, такие как установка имени базы данных в database.yml
, ENV var все равно победит.
Как это может решить нашу войну разработчиков?
Делай противоположное тому, что ты сейчас делаешь. Удалите все, кроме минимума, необходимого для запуска приложения из database.yml
и верните его обратно в систему управления версиями.
Разработчики могут использовать direnv
или один из множества инструментов, доступных для установите ENV[DATABASE_URL]
для настройки параметров, в то время как database.yml
следует оставить нетронутым, если вам действительно не нужно настраивать БД.