#typescript #next-js

Entity 생성하기

Sep 28, 2022


레딧 앱 E-R Diagram

강의의 주제인 레딧 앱의 DB E-R Diagram이다.


Entity를 생성하는 이유

ORM의 사용 없이 DB 테이블을 생성하기 위해서는 DDL (Database Definition Language)를 사용하여
일일히 테이블을 생성해줘야하지만, TypeORM을 사용할 때는 Entity Class가 데이터 베이스 테이블로 변환되기 때문에 Class를 생성한 컬럼을 정의해주면 된다.


E-R Diagram와 일치하는 Entity 생성


Entity 생성을 위해 필요한 모듈 설치


Base Entity 생성

모든 Entity에 id, createdAt, updatedAt 컬럼이 필요하다.
공통된 컬럼을 하나로 정의하기 위해 BaseEntity를 따로 생성하고, 다른 엔티티에서 BaseEntity를 상속받아 사용한다.

@PrimaryGeneratedColumn()

PrimaryGeneratedColumn() 데코레이터 클래스는 id 열이 Board 엔터티의 기본 키 열임을 나타내는 데 사용됩니다.
아래의 id컬럼의 타입이 number임을 보면 알 수 있듯 자동으로 생성되어 증가하는 컬럼이다.

@PrimaryGeneratedColumn()
id: number;


*****

© 2021, Ritij Jain | Pudhina Fresh theme for Jekyll.