如何在生产级别为不同服务器动态连接具有不同凭证的数据库?

时间:2019-04-29 13:55:31

标签: node.js sequelize.js sequelize-cli sequelize-typescript

我想连接用于不同服务器(例如dev,staging,live,production)的数据库。所有服务器都有不同的数据库和凭据。调用服务器时,它将仅访问该特定数据库的数据。 在我的代码中,我使用带有sequelize的节点js进行数据库连接以在GraphQL中构建API,该怎么做?我已经尝试了很多。请给我建议。如果需要代码,可以在此处发布。

1 个答案:

答案 0 :(得分:0)

执行此操作的最佳方法是在每个服务器上保留一个单独的.env文件。并使用dotenv模块加载凭据格式的.env文件本身。

您可以通过process.env.CREDENTIALS_KEY加载信用凭证

示例

DB_USERNAME=username
DB_PASSWPRD=password
DB_DATABASE=db_name
DB_HOST=localhost

像这样在您的js / ts文件中加载

    "USERNAME": process.env.DB_USERNAME,
    "PASSWORD": process.env.DB_PASSWPRD,
    "DATABASE": process.env.DB_DATABASE,
    "HOST": process.env.DB_HOST,