有没有办法在sequelize中进行批量upsert.另外,我可以指定用于检查重复的密钥.
我试过以下但没有奏效:
Employee.bulkCreate(data, {
updateOnDuplicate: true
});
Run Code Online (Sandbox Code Playgroud)
批量创作工作正常.上面的语句总是在DB中创建新条目.
我正在实现sequelize我的 NodeJS 应用程序。在此之前,我使用了一个书面的 INSERT 查询,该查询用于ON CONFLICT (field) DO NOTHING处理不插入需要唯一值的记录。
const sql = 'INSERT INTO communications (firstname, lastname, age, department, campus, state, message_uuid) VALUES ($1, $2, $3, $4, $5, $6, $7) ON CONFLICT (message_uuid) DO NOTHING';
const values = [val.firstName, val.lastName, val.age, val.department, val.campus, val.state, message_uuid];
Run Code Online (Sandbox Code Playgroud)
在 sequelize 中是否有支持,我可以在模型中定义相同的东西?或者也许有更好的方法来处理它?
从本质上讲,如果表中已存在message_uuid= 123的列中的记录,并且另一条记录尝试插入具有相同值的记录,则它会忽略它并且不执行任何操作。