[prismagram] [BackEnd] 3. Prisma Datamodel 만들기

업데이트:

모든 내용은 MacOS Catalina 기준으로 작성되었습니다

1. Prisma란?

Prisma는 ORM입니다. - Object-relational mapping (객체관계연결)
Prisma는 어플리케이션에 필요한 모델을 graphql로 정의할 수 있습니다.
Prisma에서 프로젝트를 만든 뒤 로컬 파일과의 연동이 필요합니다.

Prisma 설치

prisma init

2. Datamodel 정의하기

datamodel.prisma 파일을 열어 살펴봅시다.

type User {
    Id: ID! @id
    Name: String!
}

기본적으로 User가 생성되어 있습니다.
만약, 여기에 인스타그램처럼 following과 follwers를 만들려고 한다면 아래처럼 만들면 된다.

type User {
  id: ID! @id
  following: [User!]! @relation(name: "FollowRelation")
  followers: [User!]! @relation(name: "FollowRelation")
}

이때 @relation이란 말 그대로 연관되어 있는 Data입니다. 이는 나중에 Prisma 프로젝트를 통해 따로 정리하겠습니다.

이슈

아래처럼 Datamodel 작성시 type마다 id를 부여하지 않아서 에러가 발생합니다.

type User {
    Id: ID! @id
    Name: String!
}

type Comment {
    user : User!
    text : String!
    post : Post!
}

따라서 모든 type에 id를 추가하여 에러를 해결할 수 있습니다.

type User {
    Id: ID! @id
    Name: String!
}

type Comment {
    Id: ID! @id
    user : User!
    text : String!
    post : Post!
}

댓글남기기