Prisma Client in service

PrismaService 타입 안전 작업

NestJS 서비스는 Prisma Client를 주입받고, 생성된 모델 타입과 쿼리 메서드를 사용해 데이터베이스 접근 코드를 짧고 명확하게 유지합니다.

schema.prisma

모델 정의

User, Post 같은 모델과 관계가 Prisma Client 타입의 기준이 됩니다.

generate

클라이언트 생성

스키마 변경 뒤 생성된 Client가 새 필드와 관계를 타입에 반영해 오래된 쿼리를 컴파일 오류로 드러냅니다.

PrismaService

NestJS 주입

서비스 생성자에서 주입받아 this.prisma.user처럼 접근합니다.

create

입력 DTO를 data로 변환해 새 행을 만듭니다.

findMany

목록 조회 조건과 정렬을 객체로 표현합니다.

findUnique

고유 키 기준 단건 조회로 null 가능성을 드러냅니다.

update

where와 data를 분리해 변경 대상을 명확히 합니다.

include

관계 데이터를 함께 읽을 때 반환 타입도 함께 확장됩니다.