Prisma가 제대로 설치되었다고 하더라도 직접 Prisma의 Admin Playground에 접속해서 조작할것이 아니므로
Prisma에서 관리하는 데이터베이스를 node와 연동해 주어야한다.
사실, 연동은 이미 되어있다.
쿼리에 대한 스키마와 리졸버만 작성해주면 잘 동작한다.
가장 간단한 스키마와 리졸버다.
그러나 현재 서버를 실행하면 에러가 날 것이다.
prisma 클라이언트가 생성되지 않았기 때문이다.
prisma의 다양한 api를 사용하기 위해서는 클라이언트를 생성해주어야 한다.
간단하게 prisma generator 라는 명령어를 통해 생성할 수 있다.
그러나 prisma generator 이후에도 에러가 난다.
마지막으로 각각의 폴더에 나누어져 있는 스키마를 하나의 모델에 다시 정의해주어야 한다.
아래와 같이 model.graphql 을 api 하위에 생성한다
(datamodel.prisma과 동일하나, @같은 다이렉티브를 빼주어야 한다.
jinho.dev/posts/graphql-directives/
Graphql Directives - Blog by Jinho Hong
Graphql Directives 란 무엇이고 왜 필요 할까요? GraphQL 위 글에서 보면 Directives 를 이렇게 설명 하고 있습니다. Directives provide a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
jinho.dev
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
Prisma와 node 서버의 연동작업 및 Prisma Client Generator 작업 · thekanon/MBTI-statistical-project@0425fe7
Analytics cookies We use analytics cookies to understand how you use our websites so we can make them better, e.g. they're used to gather information about the pages you visit and how many clicks you need to accomplish a task. Learn more Accept Reject
github.com
'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 |