My Node脚本使用环境变量建立与Postgres数据库的连接,称为POSTGRES_CONNECTION
。
但是,它已部署到Heroku,它命名连接字符串DATABASE_URL
。
是否有一种优雅的方法可以将DATABASE_URL
值“映射”到POSTGRES_CONNECTION
,最好是在代码之外?我知道我可以做connectToPostgres(process.env.POSTGRES_CONNECTION ? process.env.POSTGRES_CONNECTION : process.env.DATABASE_URL)
之类的事情,但在我看来,我喜欢用特定于环境的配置来污染我的代码,我想避免这种情况。
或者我可以重命名我们的开发变量(POSTGRES_CONNECTION
),但考虑到我们还有其他数据库,DATABASE_URL
似乎相当通用,并且它已经在几个较低的环境中使用。
答案 0 :(得分:0)
看起来显而易见,但我提出的最简洁的方法是将别名限制在package.json脚本中,并为Heroku使用不同的脚本。
<强>的package.json 强>
{
"scripts": {
"start": "node index.js",
"heroku": "POSTGRES_CONNECTION=$DATABASE_URL npm start"
}
}
<强> Procfile 强>
web: npm run heroku