Как установить имя приложения в объекте соединения sequelize? - PullRequest
3 голосов
/ 05 июля 2019

Сводка:

Я хочу изменить application name connection string при инициализации нового объекта sequalize.основываясь на этом вопросе о стековом потоке , я устанавливаю appName of dialectOptions следующим образом:

    let conn = new Sequelize(this.models.sequelize.config.database, this.models.sequelize.config.username,
                this.models.sequelize.config.password, {
                host: this.models.sequelize.config.host,
                dialect: this.models.sequelize.getDialect(),
                dialectOptions: {
                    appName: "userid=-2@gid=" + gid
                }
            });

Вопрос:

Когда я выполняю транзакцию какследующий код application name не передается на сервер SQL.Когда я наблюдаю за выполнением запросов SQL, на следующем рисунке показано, что Tedous было отправлено в имя приложения.

код транзакции:

    await conn.transaction(async t => {
                for(let i in this.collect){
                    let queryBuilder = this.collect[i];
                    let options = {replacements: queryBuilder.replacement, transaction: t};
                    if(queryBuilder.type === 'insert'){
                        options.type = conn.QueryTypes.INSERT;
                    }
                    let row = await conn.query(queryBuilder.query + ';select @@IDENTITY as id', options);
                    progressBar.update(parseInt(i) + 1);
                }

, а изображение SQL Profiler выглядит так:

enter image description here

Как правильно установить Application Name?

1 Ответ

1 голос
/ 16 июля 2019

Вы должны установить appName в объекте параметров, поэтому правильный синтаксис:

let conn = new Sequelize(this.models.sequelize.config.database, this.models.sequelize.config.username,
            this.models.sequelize.config.password, {
            host: this.models.sequelize.config.host,
            dialect: this.models.sequelize.getDialect(),
            dialectOptions: {
               options: {
                  appName: "userid=-2@gid=" + gid
               }
            }
        });
...