可以使用URI或將證書(主機,用戶,密碼和數據庫)合併到一個字符串中的URL配置sails.js數據庫連接?還是需要將它們單獨分配爲配置中的自己的鍵值對?使用環境變量配置Sails應用程序以連接到Heroku Postgres
在發展中,我已經配置我的sails.js應用程序使用的數據庫憑據的環境變量,因爲這樣的:
在connections.js:
someSqlDatabase: {
host: process.env.dbHost,
user: process.env.dbUserName,
password: process.env.dbPassword,
database: process.env.db,
port: 5432,
ssl: true,
adapter: 'sails-postgresql'
這工作我的連接一個已分配給我的項目的heroku-postgresql資源,並且我可以在我的heroku實例中手動設置「Config Vars」,我可以像本地實例中的環境變量一樣使用它。通過這個我的意思是我可以到數據庫資源的heroku客戶端頁面,單獨將其憑據(主機,數據庫,用戶和密碼)複製到heroku應用程序的配置變量中。
問題是,heroku會定期更改憑據,並且手動複製的配置變量將變得過時,並且每當發生這種情況時都需要重新粘貼。顯然,這不是一個理想的解決方案。
"postgres://<user>:<password>@<host>:<port>/<database>"
應自動更新,當憑證更改:
的Heroku並自動爲資源,被稱爲DATABASE_URL,它看起來像一個提供配置變量。 我的問題是,我不知道如何配置一個sails.js連接使用這個URL,在個人「主機」,「用戶」,「密碼」,和「數據庫」鍵/值對的地方連接配置。
我使用省略了單獨的按鍵,並且只使用「主機」,因爲這樣的配置嘗試:
someSqlDatabase: {
host: process.env.DATABASE_URL,
ssl: true,
adapter: 'sails-postgresql'
}
但這連接失敗。我已經看到了這種所謂的URI字符串,我已經試過了長鏡頭配置:
someSqlDatabase: {
uri: proccess.env.DATABASE_URL
ssl: true,
adapter: 'sails-postgresql'
}
但這種失敗,也是如此。有沒有辦法用heroku postgresql數據庫配置一個sails-js連接,它會自動使用最新的憑證? (我用帆v0.12.3)我沒有使用PostgreSQL
這是真棒!我不知道這個功能被燒入節點。我期待需要製作一些奇特的正則表達式;這簡單得多! –
一個小小的更正:url.host包含端口號(看起來像'host:port'),所以你需要分割它。使用 主機:url.host.split(':')[0], –
確實,對於混淆抱歉。 –