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