У меня есть следующий раздел разработки моего файла development.yml
:
development:
adapter: postgresql
host: localhost
database: testtb
username: app_user
password: ENV['APP_USER_POSTGRES_PASSWORD'] <= Troublesome line
Когда я открываю консоль рельсов через bundle exec rails console
и набираю ENV['APP_USER_POSTGRES_PASSWORD']
, я возвращаю пароль БД, указанный в моем локальном профиле. Однако, когда я запускаю свой сервер rails, он не может подключиться к БД, не выполнив
PGError FATAL: password authentication failed for user "app_user"
Ранее это работало, когда у меня был пароль БД, который фактически был напечатан в виде обычного текста, вместо того, чтобы пытаться получить к нему доступ через ENV['...']
, но по очевидным причинам я хочу полностью сохранить фактический пароль из этого файла (и, следовательно, из репозитория кода), сохраняя возможность совершать другие незащищенные изменения в файле database.yml
.
Есть ли что-то особенное в синтаксисе, который я пропускаю, или переменные среды по какой-либо причине недоступны, когда загружается файл database.yml
?