TypeORM runtime path

엔티티 정의가 리포지토리 호출로 이어지는 순서

데이터베이스 연동은 테이블 모양을 적는 일에서 끝나지 않고, 모듈 등록과 주입 경로까지 맞아야 서비스 코드에서 안전하게 호출됩니다.

운영 판단

synchronize: true는 학습과 로컬 실험에만 두고, 운영 스키마 변경은 마이그레이션 이력으로 검토합니다.

@Entity() 테이블 모양 선언

클래스와 컬럼 데코레이터로 users 테이블의 행 구조와 제약을 표현합니다.

forRoot() 연결 설정

DB 종류, 접속 정보, 엔티티 목록을 루트 모듈에 등록해 DataSource를 준비합니다.

@InjectRepository 리포지토리 주입

서비스가 SQL 문자열 대신 save, findOneBy, delete 같은 메서드로 작업합니다.

Migration 스키마 변경 반영

운영 배포에서는 변경 SQL을 검토하고 되돌릴 수 있는 단위로 남깁니다.

엔티티
코드에서 다루는 객체와 DB 행의 계약을 만든다.

데이터소스
연결과 엔티티 스캔 범위를 한 번에 관리한다.

리포지토리
서비스 로직이 구체 SQL에 묶이지 않게 완충한다.