Node.js 如何使用upsert sequelize cli更新现有数据
我想使用迁移更新一些数据,我有一个包含以下信息的表: id用户名Node.js 如何使用upsert sequelize cli更新现有数据,node.js,sql-server,sequelize.js,sequelize-cli,Node.js,Sql Server,Sequelize.js,Sequelize Cli,我想使用迁移更新一些数据,我有一个包含以下信息的表: id用户名 1用户1 2用户2 3用户3 4用户4 下列文件: 我做了这个: const db = require('../src/models'); 'use strict'; module.exports = { up: (queryInterface, Sequelize) => { return Promise.all( [ queryInterface.upsert('Users',{us
1用户1
2用户2
3用户3
4用户4
下列文件: 我做了这个:
const db = require('../src/models');
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return Promise.all(
[
queryInterface.upsert('Users',{userName:'User1 Updated'},{userName:'User1 Updated'},{userName:'User1'},db.Users,{}),
queryInterface.upsert('Users',{userName:'User2 Updated'},{userName:'User2 Updated'},{userName:'User2'},db.Users,{}),
queryInterface.upsert('Users',{userName:'User3 Updated'},{userName:'User3 Updated'},{userName:'User3'},db.Users,{}),
queryInterface.upsert('Users',{userName:'User4 Updated'},{userName:'User4 Updated'},{userName:'User4'},db.Users,{}),
]
)
},
down: (queryInterface, Sequelize) => {
...
}
};
但是我得到了一个错误:
错误:关键字“WHEN”附近的语法不正确。想知道用户模型的定义是什么。我也遇到了这个问题,当我在MSSQL的方言查询接口中添加“console.log()”时,我看到的是没有为查询生成“合并搜索条件”。因此,您将得到一个“empty”子句,这是MERGE-INTO语句所需要的:我认为我之所以得到一个空的“MERGE-search条件”,是因为我提供的where子句位于一个字段/列上,而该字段/列不是PK或unique