데이터베이스 연동은 테이블 모양을 적는 일에서 끝나지 않고, 모듈 등록과 주입 경로까지 맞아야 서비스 코드에서 안전하게 호출됩니다.
synchronize: true는 학습과 로컬 실험에만 두고, 운영
스키마 변경은 마이그레이션 이력으로 검토합니다.
클래스와 컬럼 데코레이터로 users 테이블의 행 구조와
제약을 표현합니다.
DB 종류, 접속 정보, 엔티티 목록을 루트 모듈에 등록해 DataSource를 준비합니다.
서비스가 SQL 문자열 대신 save, findOneBy,
delete 같은 메서드로 작업합니다.
운영 배포에서는 변경 SQL을 검토하고 되돌릴 수 있는 단위로 남깁니다.
엔티티
코드에서 다루는 객체와 DB 행의 계약을
만든다.
데이터소스
연결과 엔티티 스캔 범위를 한 번에
관리한다.
리포지토리
서비스 로직이 구체 SQL에 묶이지 않게
완충한다.