You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sequelize使用bulkCreate方法时如何正确同步软删除的行数据

问题原因与修复方案

核心问题

你当前的bulkCreate配置中,updateOnDuplicate仅指定了id字段。当主键id发生冲突时,Sequelize只会更新你在该参数中显式声明的字段,包括deletedAt在内的其余所有字段都会被忽略,因此软删除状态无法同步到ServiceabilityLive表。

修复步骤

  • 扩展updateOnDuplicate的字段范围,将所有需要同步的字段(含deletedAt)加入列表,推荐直接读取原模型的字段列表避免手动枚举遗漏:
// 直接提取Serviceability模型定义的所有字段名
const syncFields = Object.keys(Serviceability.rawAttributes)
await ServiceabilityLive.bulkCreate(serviceablities, { 
  updateOnDuplicate: syncFields
})
  • 确认ServiceabilityLive模型配置与原表对齐:
    • 已开启软删除(配置项paranoid: true)
    • 表结构存在deletedAt字段,且字段类型和Serviceability表完全一致
    • 未将deletedAt加入模型的exclude(字段排除)列表

内容的提问来源于stack exchange,提问作者Sahil Paudel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 14:54:01