重命名环境变量

Rename environment variables

Heroku 当前将数据库凭据作为一个连接字符串提供,即:postgres://foo:bar@baz/fubarDb

我的开发环境由一个 PostgreSQL 容器和一个使用 docker-compose 文件编排的应用程序容器组成。 docker-compose 文件提供来自 .env 文件的环境变量,目前看起来有点像这样:

DB_USER=foo
DB_PASS=bar
DB_HOST=baz

这些凭据作为环境变量传递到我的应用程序,一切正常。问题是,为了使这项工作正常进行,我必须 null 检查我的数据库连接信息以查看是否有完整的数据库 URL 并使用它...否则回退到个人证书....

哦!所以,事实证明,解决方案是修改我的 docker-compose 文件以获取环境变量并将它们连接成一个连接字符串:

diff --git a/docker-compose.yml b/docker-compose.yml
index 21f0d47..74a574e 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -16,14 +16,10 @@ services:
       context: .
       target: base
     environment:
-      - APP_NAME
-      - DB_HOST
-      - DB_PORT
-      - DB_NAME
-      - DB_USER
-      - DB_PASS
-      - NODE_ENV
-      - PORT
+      APP_NAME: ${APP_NAME}
+      NODE_ENV: ${NODE_ENV}
+      PORT: ${PORT}
+      DATABASE_URL: postgres://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}
     user: "1000:1000"
     ports:
       - "127.0.0.1:${PORT}:${PORT}"

不再需要猜测要查找的环境变量!