[Prisma] Schema 모델링 - view 작성하기

koline·2023년 11월 14일

prisma

목록 보기
5/6

Schema 모델링 - View 작성법


prisma에서 view를 사용하기 위해서는 우선 schema.prisma 파일의 상단에 client를 정의한 부분에 previewFeatures = ["views"]를 추가하여 view를 사용할 것임을 나타내줘야 한다.

generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["views"]
}

prisma에서 최근까지 view의 사용을 공식적으로 지원하지 않아서 Prisma가 MySql View 마이그레이션을 제공하지 않는 상황에 대처하기 같은 포스팅을 찾아 봐야 했다.

지금은 view를 사용할 수 있고 공식문서에도 설명이 나와있긴 하지만 view는 여전히 따로 생성한 뒤 아래와 같이 schema에 추가해 주어야 한다.

view UserInfo {
  id    Int    @unique
  email String
  name  String
  bio   String
}

꼭 직접 수기로 작성해야 하는건 아니고 아래의 명령어를 사용해 introspect할 수도 있긴하다.

##### 아래 명령어를 이용해 view를 introspect하는 기능은 2023.11.14일 현재 공식문서상
##### PostgreSQL, MySQL, SQL Server, CockroachDB 에서만 가능하다고 한다.

# npm 사용하는 경우
npx prisma db pull

# yarn 사용하는 경우
yarn prisma db pull

이렇게 가져온 view를 사용하는 방식은 일반적인 model과 동일하다고 한다.

다만 이런식으로 view를 직접 DB 서버에서 쿼리로 생성하고 prisma에서 따로 작업하는 방식은 prisma의 장점이나 특징과는 상충되는 부분이 있긴하다..

profile
개발공부를해보자

0개의 댓글