Sequelize:更改生产数据库上的数据库密码

Sequelize: Change DB password on prduction DB

我想在 Sequelize 的生产环境中更改我的数据库密码。

所以我想 运行 一个脚本来更改我的数据库连接密码,下次我执行应用程序更新时它不会被覆盖:)

这是我的示例 migration.config.json

{
  "development": {
    "username": "postgres",
    "password": "postgres",
    "database": "db",
    "host": "localhost",
    "dialect": "postgres",
    "logging": false,
    "seederStorage": "sequelize",
    "operatorsAliases": false
  },
  "test": {
    "username": "test",
    "password": "stest",
    "database": "test_db",
    "host": "127.0.0.1",
    "dialect": "postgres",
    "logging": false,
    "seederStorage": "sequelize",
    "operatorsAliases": false
  },
  "production": {
    "username": "prod",
    "password": "prod",
    "database": "db_prod",
    "host": "127.0.0.1",
    "dialect": "postgres",
    "seederStorage": "sequelize",
    "operatorsAliases": false
  }
}

例如,我是否需要创建执行以下操作的 bash 脚本:

  1. 在psql中执行命令更改数据库密码
  2. 用新值编辑 migation.config.json

或者是否有其他一些步骤如何做到这一点??

所以我通过以下步骤成功地更改了生产密码:

已将 migration.config 中的数据库相关变量替换为 ENV 变量

创建的节点脚本将为数据库导出新的 ENV 变量, 使用 psql 使用命令更改数据库中的密码:

ALTER USER user_name WITH PASSWORD 'new_password';

用 pm2 重新启动节点服务器。