TypeOrmModule.forRoot()

TypeORM 설정 분리

엔티티, DataSource, Repository는 같은 연결 경로에 있지만 스키마 변경 방식은 환경에 따라 다르게 선택해야 합니다.

Entity

테이블 계약 작성

`@Entity()`와 `@Column()`으로 클래스 속성과 컬럼 제약을 함께 기록합니다.

DataSource

연결과 스캔 범위

`forRoot()`가 DB 종류, 접속 정보, entities 배열을 묶어 연결을 만듭니다.

Repository

서비스 주입 지점

Repository 주입으로 서비스가 CRUD 메서드를 받습니다.

Migration

운영 스키마 이력

배포 전 변경 SQL을 파일로 남겨 검토, 적용, 되돌림 기준을 확보합니다.

local

학습과 로컬 실험

synchronize

엔티티 변경을 빠르게 반영하려고 개발 환경에서 `true`로 둘 수 있습니다.

logging

생성된 SQL을 보며 Repository 호출이 어떤 쿼리로 바뀌는지 확인합니다.

production

운영 데이터 보호

synchronize

운영에서는 예기치 않은 컬럼 변경과 데이터 손실을 막기 위해 끕니다.

migration

스키마 변경을 배포 단위로 추적해 리뷰와 롤백 가능성을 남깁니다.