【问题标题】:SequelizeJS Soft DeletingSequelizeJS 软删除
【发布时间】:2015-08-07 00:32:21
【问题描述】:

我不知道软删除如何与 SequelizeJS 一起工作,也找不到任何在线文档。

我已经在deletedAt 列设置为

deletedAt: {
    type: Sequelize.DATE
}

但我现在不知道如何设置系统以便MyModel.destroy(query) 软删除它。目前,它完全删除了该条目。

【问题讨论】:

    标签: sql database node.js sequelize.js


    【解决方案1】:

    http://docs.sequelizejs.com/en/latest/api/sequelize/#definemodelname-attributes-options-model

    options.timestampsoptions.paranoid 设置为 true - 然后 sequelize 将为您添加 deletedAt 列,并设置它而不是删除行

    【讨论】:

    • 有人能解释一下吗,我还在搜索,没有找到任何东西,timestamps: true,paranoid: true,仍然只删除了项目..
    • 我的错,我的错误是我错误地将deletedAt 定义为deleted_at.. 好的,它已经解决了,顺便说一句,我们可以定制它吗?来源:docs.sequelizejs.com/manual/instances.html
    【解决方案2】:

    首先添加deletedAtboth model & migrations 文件,如 -

    deletedAt: {
        type: Sequelize.DATE,
        allowNull: false
    }
    

    然后将timestampsparanoid 设置为true。我认为它会工作..

    【讨论】:

      猜你喜欢
      • 2019-04-20
      • 1970-01-01
      • 2011-12-26
      • 2013-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多