javascript - Sequelize 不使用读取复制

标签 javascript node.js sql-server sequelize.js

我尝试使用 sequelize 连接到读取复制:

const Sequelize = require('sequelize');
const sequelize = new Sequelize('database', null, null, {
dialect: 'mssql',
replication: {
    read: [{
        host: 'hostRead',
        username: 'username',
        password: 'password'
    }],
    write: {
        host: 'hostWrite',
        username: 'username',
        password: 'password'
    }
}
});

(async () => {
    const result = (await sequelize.query('SELECT @@servername'))[0][0];
    console.log(result);
})();
当我运行它时,它会打印写入 serverName 而不是读取的。
为什么会这样?

最佳答案

显然 sequelize 本身不会解析您的查询类型,因此您必须明确指定原始 sequelize 查询的查询类型,如下所示:

const result = (await sequelize.query('SELECT @@servername', { type: QueryTypes.SELECT }));

关于javascript - Sequelize 不使用读取复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65805804/

相关文章:

javascript - NODE.JS 以特定顺序执行代码

sql - 编写 SQL Server 数据库中所有数据的脚本

javascript - Node.js 进程间通信故障

node.js - 如何防止用户修改 REST 请求?

ASP.NET LINQ SQL 数据库

sql - 在特定列上设置 ANSI_PADDING(同一表的不同列中 ANSI_PADDING ON 和 OFF)

javascript - 不使用字符串方法trim去除空格

javascript - Escape String - 在 Javascript 中输出 rails 字符串

c# - 如何调用方法确认

node.js - MongoDB upsert 创建另一个实例