我有我的development.yml
文件的以下发展论坛部分:未能内`database.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"
当我有DB密码居然以纯文本输入的,而不是试图访问它这是以前没有工作通过ENV['...']
,但由于显而易见的原因,我想保留实际的密码完全(并因此在代码存储库之外),而仍然能够对database.yml
文件进行其他非安全更改。
有没有什么特别的,我缺少语法,或者是一些不可用时,在加载database.yml
文件的原因的环境变量?
你可能要检查关于配置的本指南和局部变量: http://railsapps.github.io/rails-environment-variables.html tl; dnr:figaro gem可能对此有用。 – Antzi 2013-05-02 12:12:35
@Antzi根据Figaro的README,请注意Figaro不支持database.yml,因为它在figaro config之前读取。 – mahemoff 2013-12-04 13:11:16
更新:Figaro现在适用于所有Rails版本的database.yml。 https://开头github上。com/laserlemon/figaro/pull/100 – mahemoff 2014-04-01 21:54:20