2014-09-25 15 views

回答

0

Rails總是依賴於config/database.yml。由於rspec加載軌道環境來運行規範,它的行爲方式完全相同。除非你自己加載主動記錄,我認爲情況並非如此。

使用DATABASE_URL環境變量只是一個很好的做法configuration scheme以避免將敏感數據放入修訂控件。人們通常在實踐中做的是使用這個變量中定義的值來設置config/database.yml中的值,例如,

host: <%= ENV["DATABASE_URL"] %> 

乾杯!

+0

找到除你必須使用這樣的: '主機:<。(%)= URI(ENV [ 'DATABASE_URL'])主機%>' 正確? – 2014-09-26 17:04:09

+0

我不這麼認爲。 Rails將解析你的url的字符串表示,例如Postgres的://用戶名:密碼@本地:5432/MY_DATABASE。 – wicz 2014-09-26 19:47:20

+0

Rails不會爲你解析它,在'database.yml'文件中'host'應該是主機,而不是URL。 @PeterAlfvin是對的,你需要從URL中提取'host'部分。 – 2016-10-06 15:59:50