sequelize.js - 如何在 Sequelize 中使用偏执狂?

标签 sequelize.js

我是 Sequelize 的新手,如果我想删除我不会直接删除的条目,我有一个单独的字段来使其处于事件状态和非事件状态。所以我想要一个 deteledAT 字段在删除条目时自动更新。有什么办法可以解决偏执狂。

最佳答案

在你的模型中添加:

  paranoid: true,
  timestamps: true,

小例子:

sequelize.define(
    'example',
    {
      id: {
        type: DataTypes.UUID,
        allowNull: false,
        primaryKey: true,
        unique: true,
        defaultValue: sequelize.literal('uuid_generate_v1()'),
      }
    },
    {
      tableName: 'example',
      createdAt: 'created_at',
      updatedAt: 'updated_at',
      deletedAt: 'deletedAt',
      paranoid: true,
      timestamps: true,
    },
  );

因此,我们将获得具有 4 个列(id、created_at、updated_at、deletedAt)的 example 表,并且当您调用 destroy 方法时,将在 中插入日期deletedAt 列和 for select(findOne、findAll 等)在 deletedAt 不为 null 时自动忽略所有行

关于sequelize.js - 如何在 Sequelize 中使用偏执狂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54687518/

相关文章:

sql-server - 在返回查询中不遵守更新插入的 where 子句的 Sequelize

node.js - 断言错误 [ERR_ASSERTION] : Missing where attribute in the options parameter

sequelize.js - 如何使用 sequelizejs 计算两个连接表的行数

Node.js module.exports 不导出整个对象

node.js - sequelize.import : defineCall is not a function 上的错误

javascript - 将功能注入(inject)其他 Node.js 模块

node.js - Sequelize 实例方法 beforeCreate Hooks

postgresql - 查询 Sequelize 模型字段以重叠日期间隔

node.js - NodeJS-SequelizeConnectionError : self signed certificate

sequelize.js - node.js - Sequelize 查询表