nest new nestjs_ORM

Entity file의 Column 생성

  1. Column()
    1. 일반 컬럼이다. 기본적인 컬럼을 생성할 수 있다. title, age 등등
  2. @PrimaryColumn()
    1. 모든 테이블에서 기본적으로 존재해야한다.
    2. 테이블 안에서 각각의 Row를 구분 할 수 있는 칼럼이다. (대신 자동 생성하지 않는다.)
  3. @PrimaryGeneratedColumn('uuid')
    1. asdqweaf123-123asdqwexcz-123412asdzxcg-123234zxcv
    2. 수학적 알고리즘으로 절대로 겹치지 않는 값으로 형성되도록 만들수 있다.
    3. 데이터가 추가될때마다 자동으로 생성되는 Column 이다.
  4. @CreateDateColumn()
    1. 데이터가 생성되는 날짜와 시간이 자동으로 찍힌다.
  5. @UpdateDateColumn()
    1. 데이터가 업데이트 되는 날자와 시간
  6. @VersionColumn()
    1. 데이터가 업데이트 될때마다 1씩 올라간다.
    2. save() 함수가 몇번 불렸는지 기억한다.
  7. @Generated('uuid')
    1. @Column() 과 무조건 같이 쓰여야한다.
    2. uuid가 자동으로 생성되게 할 수 있다.

기본적인 User Enitity 생성 코드

@Entity()
export class UserModel {

  @PrimaryGeneratedColumn()
  id: number;
  @Column()
  title: string;

  @CreateDateColumn()
  createdAt: Date;

  @UpdateDateColumn()
  updateAt: Date;

  @VersionColumn()
  version: number;

  @Column()
  @Generated('uuid')
  additionalId: string;
}

Column에 들어가는 property