View

지난 날 힘겹게 NextJS와 Apollo Server, Client을 한 프로젝트에 설정했다.
이제 DB 연동해서 사용하면 되는데, 테이블을 추가하면 GraphQL Schema도 추가해야되는게 너무 귀찮았다.
그래서 Prisma2을 적용해봤다. 결과는 대대대만족!!!


혹시 나처럼 NextJS로 백엔드와 프론트엔드를 같은 프로젝트(단순히 폴더를 나눈게 아닌 동작 프로세스가 하나로 이뤄지는 경우)로 하고 싶은 행인이 있을까싶어 git에 올렸다.

 

github.com/yelling95/example-nextjs-apollo-prisma.git

 

yelling95/example-nextjs-apollo-prisma

NextJS로 프론트엔드, 백엔드를 같은 환경에서 구동시키고 Apollo와 Prisma로 DB 연동 - yelling95/example-nextjs-apollo-prisma

github.com

Prisma Flow

 

1. schema.prisma

  • DB 정보
  • DB 스키마 정의

2. prisma migrate save

  • prisma/migrate 폴더랑 DB에 _Migration 테이블에 데이터베이스에 대한 정보가 저장됨
  • 마이그레이션 결과, 스냅샷, README 생성

3. prisma migrate up

  • migrate save 한 내용으로 DB에 테이블 생성 및 변경됨 (완전 신기방기 동방신기)

4. prisma generate

  • 쿼리를 작성하지 않아도 데이터를 조회 및 변경 할 수 있도록 Prisma Client에 스키마에 정의한대로 객체를 만들어 놓음

5. @nexus/schema로 GraphQL 스키마 정의하고 Query나 Mutataion의 Resolver에서 Prisma Client 통해 DB 데이터를 조회하거나 변경

 

6. @nexus/schema로 만든 스키마를 Apollo Server에 장착

  • makeSchema 할때 outputs 옵션에 typegen, schema 문서가 나옴
  • API 문서나 다른 사람에게 공유할 때 유용할 것 같음

'develop > react' 카테고리의 다른 글

Typescript, NextJS 스터디  (0) 2021.01.29
Material-UI html2canvas SVG 안나오는 문제  (0) 2021.01.14
#4 NextJS, 드디어 Apollo 적용하기  (0) 2020.09.28
#3 NextJS에 PostgreSQL 연동하기  (0) 2020.09.25
#2 NextJS 기본 사용법  (0) 2020.09.25
Share Link
reply
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31