Prisma 스키마 시작 User

yonghee·2022년 6월 12일
0

baechu-market

목록 보기
11/32

https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#model-fields

공식 홈페이지에 가게 되면 사용하는 DB마다 어떻게 스키마를 작성해야 하는지 어떤 규칙을 따라야 하는지 나와있다. 솔직히 여태 공식문서들을 보는 습관이 많이 없었지만 prisma 같은 경우는 블로깅된 자료도 많지 않고 공식 홈페이지가 잘 설명 되 있어서 다행이다.

model User {
  id        Int         @id @default(autoincrement())
  phone     String?     @unique
  email     String?     @unique
  name      String
  avatar    String?
  createdAt DateTime    @default(now())
  updatedAt DateTime    @updatedAt  
}

위에 홈페이지 자료에 나와 있는데로 모델의 모든 레코드는 고유하게 식별을 할 수 있어야 한다고 나와있다. 따라서 user의 고유한 값이 id phone email은 @unique로 설정하였다

https://www.prisma.io/docs/concepts/components/prisma-schema/data-model#native-type-mapping

또한 관계형 DB 같은 경우 어떻게 스키마를 구성할 수 있는지 기본적인 내용이 설명 되어 있다. 이부분을 많이 참고하여 작성 할 수 있었는데
id는 @id @default(autoincrement()) 고유한 값이며 기본값으로 자동으로 숫자가 증가 가능 하도록 하였고 Int 정수값으로 지정하였다.
또한 String 옆에 ?의 뜻은 고유한 값이기는 하지만 메일로 가입을 하거나 또는 핸드폰 번호로 가입을 한경우 둘 중 하나의 값은 필수가 아니기 때문에 선택적인 옵션이 가능하도록 ?를 사용하였다. avatar 같은 경우 프로필 이미지가 들어갈 DB이다 이것 또한 이미지가 선택적 옵션으로 설정할 것이기 때문에 ?를 사용하였다. 그리고 기본값으로 createdAt DateTime @default(now()) now()를 사용하여 만들어진 시점의 시간을 사용하도록 하였다.

첫번째 User 스키마를 구성하였다.

profile
필요할 때 남기는 날것의 기록 공간

0개의 댓글