TypeORM

ORM 구성 요소

TypeORM은 SQL을 완전히 잊게 하는 도구가 아닙니다. 데이터 구조 변경과 실제 쿼리 비용을 타입스크립트 코드에서 추적하기 쉽게 만드는 계층입니다.

entity

테이블 구조 선언

@Entity, @Column으로 DB 스키마와 타입스크립트 모델을 연결합니다.

repository

CRUD 호출 집중

Repository<User>save, findOneBy, delete를 타입 안전하게 씁니다.

dto

요청 입력 분리

DTO와 class-validator로 API 입력이 엔티티 전체를 직접 노출하지 않게 합니다.

migration

운영 스키마 변경

운영에서는 synchronize: false를 두고 변경 이력을 마이그레이션 파일로 배포합니다.

query

성능 확인

복잡한 조회는 ORM 생성 SQL을 확인하고 필요하면 QueryBuilder나 직접 SQL로 보완합니다.

개발 환경: 빠른 실험에는 자동 동기화가 편하지만, 데이터 손실 가능성을 항상 인식합니다.

운영 환경: 마이그레이션 실행 순서, 되돌리기 절차, SQL 로그 확인 기준을 배포 문서에 둡니다.