我有我的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