可以使用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], –
确实,对于混淆抱歉。 –