TypeOrm 软删除(逻辑删除)

最近学习midway,用上了TypeOrm,感觉和squelize相比还是缺少了很多东西,这个不得不吐槽一下文档!

实体添加时间

// 基础实体
import {
  // Column,
  PrimaryGeneratedColumn,
  // PrimaryColumn,
  CreateDateColumn,
  UpdateDateColumn,
  DeleteDateColumn,
} from 'typeorm';

export class Base {
  @PrimaryGeneratedColumn('uuid')
  id: string;

  @CreateDateColumn({
    name: 'created_time',
    type: 'datetime',
    comment: '创建时间',
  })
  createdTime: string;

  @UpdateDateColumn({
    name: 'updated_time',
    type: 'datetime',
    comment: '更新时间',
  })
  updatedTime: string;

  @DeleteDateColumn({
    name: 'deleted_time',
    type: 'datetime',
    comment: '删除时间',
  })
  deletedTime: string;
}
实体中添加 CreateDateColumn,UpdateDateColumn,DeleteDateColumn 三个数据列

一般说来,createdTime和updatedTime在创建和修改时,时间都会自动更新的,但是deletedTime这个时间段如何更新呢,找遍文档和百度了一大圈都没有(想哭)!

其实你可以调整到delet方法(其它操作也可以)的定义处(Ctrl + 点击)会跳转到该方法所在位置(在一个Repository.d.ts文件中),在文件中有搜索Soft,会发现有对应的 <font color=red>softDelete和softRemove</font>两种软删除方法,好好享用吧,就是它!


wujh
9 声望1 粉丝

« 上一篇
midway 跨域