코딩/TypeORM

entities

춘 몽 2024. 4. 22. 22:35

- entities 작성하기

각 api폴더에 entities 폴더 만들고 entities 작성 = 테이블 만든다고 보면됨

 

++ 가격 같은거에 제약사항(최소 0 이상) 걸어주려면 글로벌 파이프 설정 필요함

https://springdream0406.tistory.com/89

 

글로벌 파이프

- 설치 yarn add class-validator class-transformer - main.ts에 GlobalPipe 설정 app.useGlobalPipes(new ValidationPipe()); ++ 추가적인 공부 필요함.

springdream0406.tistory.com

 

// 이것저것 짬뽕해서 예시로 넣음

@Entity()
export class Farm {
  @PrimaryGeneratedColumn('increment')
  farm_num: number;

  @Column({ length: 50 })
  farm_title: string;

  @Column()
  farm_address: string;

  @Min(0) // 최소값 제약
  @Column()
  farm_price: number;

  @Column({ type: 'decimal', precision: 9, scale: 6 })
  lat: number;

  @Column({ type: 'decimal', precision: 9, scale: 6 })
  lng: number;

  @Column({ nullable: false, type: 'date' })
  startDate: Date;

  @Column({ type: 'text' })
  description: string;

  @CreateDateColumn()
  createdAt: Date;
  
  @DeleteDateColumn()
  deletedAt: Date;
  
  @Column({ type: 'tinyint', default: 0 })
  user_type: number;

  @JoinColumn()
  @OneToOne(() => User)
  user: User;

  @ManyToOne(() => User)
  user: User;
}

boolean으로 타입 작성하면 tinyint로 들어감

oneToOne 의 경우 중심되는곳에 Join넣어줘야함

 

@CreateDateColumn() => 생성날짜

@UpdateDeteColumn() => 수정날짜

@DeleteDateColumn() => 삭제날짜

'코딩 > TypeORM' 카테고리의 다른 글

Transaction  (0) 2024.04.24
사용 방법 예시들  (0) 2024.04.22
초기 설정 + 공식문서 링크  (0) 2024.04.17