首页 > 解决方案 > 如何在续集中使用偏执狂?

问题描述

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

标签: sequelize.js

解决方案


在您的模型中添加:

  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,
    },
  );

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


推荐阅读