우리 프로젝트는 컬럼을 Hard Delete하는 것 대신에 플래그 비트 처럼 사용하지 않는 컬럼이라고 명시하는 Soft Delete를 사용한다.

TypeOrm에 Soft Delete 기능이 있어 사용해보고자 한다.

import { BaseEntity, CreateDateColumn, DeleteDateColumn, UpdateDateColumn } from "typeorm";

export class TimeStampEntity extends BaseEntity {
  @CreateDateColumn()
  createdAt: Date;

  @UpdateDateColumn()
  updateAt: Date;

  @DeleteDateColumn()
  deletedAt: Date;
}
import { Entity, Column, PrimaryGeneratedColumn } from "typeorm";
import { TimeStampEntity } from "src/myBaseEntity/TimestampEntity";

@Entity({ name: "users" })
export class User extends TimeStampEntity {
  @PrimaryGeneratedColumn()
  userId: number;

  @Column({ nullable: true })
  profileImage: string;

  @Column()
  userNickname: string;

  @Column()
  userEmail: string;
}