데이터 경계

Prisma를 이용한 데이터베이스 작업 데이터 경계

Prisma schema, Client 호출, 트랜잭션 경계를 나눠 NestJS 서비스가 데이터 접근 문법에 끌려가지 않게 만듭니다.

Model

Model 기준

schema.prisma의 model과 relation 선언이 테이블 모양과 제약을 생성 기준으로 고정합니다.

Repository

Repository 기준

Prisma Client 호출을 얇은 저장소 메서드로 감싸 서비스에는 유스케이스 이름을 남깁니다.

Transaction

Transaction 기준

$transaction 안에 함께 성공해야 하는 쓰기를 모아 부분 반영을 막습니다.

relation

include와 select는 화면이 실제로 쓰는 필드 수와 중첩 깊이를 기준으로 좁힙니다.

error

DB 오류는 도메인에 맞는 예외로 변환합니다.

migration

schema 변경은 migrate 결과와 배포 적용 순서를 같은 리뷰 단위로 묶습니다.