Prisma가 제대로 설치되었다고 하더라도 직접 Prisma의 Admin Playground에 접속해서 조작할것이 아니므로
Prisma에서 관리하는 데이터베이스를 node와 연동해 주어야한다.
사실, 연동은 이미 되어있다.
쿼리에 대한 스키마와 리졸버만 작성해주면 잘 동작한다.
가장 간단한 스키마와 리졸버다.
그러나 현재 서버를 실행하면 에러가 날 것이다.
prisma 클라이언트가 생성되지 않았기 때문이다.
prisma의 다양한 api를 사용하기 위해서는 클라이언트를 생성해주어야 한다.
간단하게 prisma generator 라는 명령어를 통해 생성할 수 있다.
그러나 prisma generator 이후에도 에러가 난다.
마지막으로 각각의 폴더에 나누어져 있는 스키마를 하나의 모델에 다시 정의해주어야 한다.
아래와 같이 model.graphql 을 api 하위에 생성한다
(datamodel.prisma과 동일하나, @같은 다이렉티브를 빼주어야 한다.
jinho.dev/posts/graphql-directives/
type User {
id: ID!
username: String!
email: String!
votes: [Vote]
}
type Vote {
id: ID!
title : String!
description : String!
upperVote:[Vote!]!
lowerVote:[Vote!]!
val1: String
val2: String
val3: String
val4: String
val5: String
val6: String
val7: String
val8: String
val9: String
val10: String
val11: String
val12: String
val13: String
val14: String
val15: String
val16: String
val17: String
val18: String
val19: String
val20: String
}
type UserVote {
id: ID!
user:User!
vote: Vote!
voteSelect: String!
}
이는 graphql이 prisma로 만들어진 데이터베이스의 구조를 이해하도록 해준다.
(사실 이는 비효율적이다 단순히 컬럼 하나를 추가하는 작업도 2번 해주어야 하기 때문에)
여튼 model.graphql까지 만들고나면 localhost:4000에서 테스트해볼 수 있다.
위와같이 잘 돌아간다.
나머지 쿼리도 이렇게 연결해서 쓰면 된다.
오늘의 작업내용!
github.com/thekanon/MBTI-statistical-project/commit/0425fe710a2a23bad34dc5e08ebdc41f0241f676
'MBTI Project' 카테고리의 다른 글
간만에 커밋. 나무위키 크롤링하기 (0) | 2021.07.19 |
---|---|
2020.11.25오늘의 커밋. MBTI Project를 Vue로 변경 (0) | 2020.11.25 |
Prisma를 통한 개발 인프라 구축 - Prisma 설치 및 CRUD (0) | 2020.11.18 |
Prisma를 통한 개발 인프라 구축 - git 저장소 및 의존성 모듈 설치 (0) | 2020.11.18 |
MBTI Community Project -프로그램 설계- (0) | 2020.11.18 |