如何为 Sequelize 应用程序设置应用程序名称

How to set the Application Name for a Sequelize application

我有一个使用 Sequelize 作为 ORM 的 nodejs 应用程序。我已成功将 Sequelize 连接到数据库,但我没有在说明如何设置应用程序名称的文档中找到任何内容。为了澄清,我希望为我的应用程序的连接字符串设置一个唯一的应用程序名称属性。这样,当 DBA 查看流量时,他们可以从其余的查询中挑选出我的应用程序的查询。

这是Sequelize能做到的吗?或者这是否需要在繁琐的层面上完成?如果做不到这一点,nodejs 中是否有指定连接字符串属性的方法?

Tedious 允许使用 appName 配置参数设置应用名称。您应该能够在创建 Sequelize 连接时通过 dialectOptions 对象进行设置:

var conn = new Sequelize('my_db', 'my_user', 'my_pass', {
  host: 'my_server',
  dialect: 'mssql',

  dialectOptions: {
    appName: 'my_app_name'
  }
});

对于那些在寻找如何为 Postgres 设置名称时发现此问题的人,您可以在 dialectOptions 中使用 application_name,例如

{
    username: process.env.DB_USER,
    password: process.env.DB_PASS,
    database: process.env.DB_NAME,
    port: process.env.DB_PORT,
    host: DB_HOST,
    dialect: 'postgresql',
    dialectOptions: {
        application_name: 'My Node App',
    },
},