TypeORM readiness

엔티티와 마이그레이션

TypeORM은 객체와 테이블을 매핑해 생산성을 높이지만, synchronize: true는 로컬 학습에만 두고 운영에서는 스키마 변경 이력을 명시적으로 관리해야 한다.

entity

@Entity()와 컬럼 매핑

User 클래스의 속성이 users 테이블 컬럼으로 이어지며 타입과 제약 조건을 코드에 남긴다.

스키마 표현
root

TypeOrmModule.forRoot()

데이터베이스 종류, 호스트, 엔티티 목록, 로깅 옵션을 루트 모듈에서 연결 설정으로 묶는다.

연결 설정
feature

forFeature([User])

피처 모듈에 엔티티를 등록해야 해당 모듈의 서비스가 User 리포지토리를 주입받을 수 있다.

모듈 경계
repo

@InjectRepository()

서비스는 save(), find(), delete() 같은 리포지토리 메서드로 CRUD를 수행한다.

데이터 작업
prod

synchronize는 끄기

운영에서는 자동 동기화 대신 마이그레이션으로 변경 순서와 롤백 가능성을 남겨 데이터 손실을 피한다.

운영 안전성