📁Back-end/ORM

[Prisma] model에 ENUM값 추가하기

윤찬님 2023. 12. 9. 01:06

개요

 

sequelize로 생성된 API에서 3 layered architecture로 바꾼 뒤 prisma로 변경하는 과정에서 prisma model을 생성할 일이 있었다.

상품의 status를 나타내는 부분에서 type에 enum값을 쓸 일이 있었는데 prisma 모델 설정시 enum 값을 넣는 방법을 몰라서 찾아봤는데, 블로그 글은 없고 공식 문서에만 적혀있길래 한 번 정리해봤다. (내용자체는 진짜 짧다)

 

 

 

ENUM 값 추가하기

 

prisma 공식 문서에서는 다음과 같이 enum 값을 쓰라고 정리되어 있다.

 

model User {
  id    Int     @id @default(autoincrement())
  email String  @unique
  name  String?
  role  Role    @default(USER)
}

enum Role {
  USER
  ADMIN
}

 

https://www.prisma.io/docs/orm/prisma-schema/data-model/models

 

정리된 바와 같이 변수명에서 앞의 문자만 대문자로 바꾼 형태를 type에 넣어놓고 model 밖에서 따로

enum '대문자 + 변수명'과 같이 사용해서 enum의 목록값으로 들어갈 값을 넣어주는 형태였다.

 

이를 내 코드에 적용하여 status의 두 가지 상태 FOR_SALE과 SOLD_OUT을 prisma 모델의 enum 타입으로 넣을 수 있었다.