[prismagram] [BackEnd] 4. Prisma에서 데이터 받아오기

업데이트:

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

1. Prisma client

Prisma와 api를 연결하기 위해서는 Prisma client가 필요합니다.
예를들면 영화 api처럼 Prisma에서 정의한 데이터를 쉽게 가져올 수 있도록 합니다.

yarn add prisma-client-lib

2. 스크립트 추가

package.json에서 다음과 같은 스크립트를 추가합니다.

"deploy": "yarn prisma deploy",
"generate": "yarn prisma generate",
"do": "yarn run deploy && yarn run generate",
"dev": "nodemon --exec babel-node src/server.js”

js파일에

import {prisma} from '../../../generated/prisma-client';
export default {
    Query : {
        hello : async () => {
            console.log(await prisma.users());
            return "hello";
        }
    }
}

3. prisma.yml 살펴보기

prisma.yml 파일을 보면…

endpoint: https://us1.prisma.sh/blablabla....
datamodel: datamodel.prisma

generate:
  - generator: javascript-client
    output: ./generated/prisma-client/

generated 폴더에 있는 index, prisma-schema 파일을 통해 prisma와 정보를 주고받습니다.

이슈

prisma.yml파일은 git에 커밋하면 안됩니다. 여기에 endpoint url이 있는데 endpoint에서 모든 데이터를 조회할 수 있기 때문에 .gitignore에 추가합니다.

# Next.js build output
.next
generated
prisma.yml

만약 prisma에 문제가 생긴다면 모든 서비스와 url을 변경해야 합니다.

스크립트에 do 대신에 prisma로 할 경우 스크립트 실행할 때 무한루프가 발생합니다.
prisma 명령어가 콘솔에서 안먹는 경우에 yarn prisma를 해서 생기는데,
prisma 대신에 do나 다른 스크립트로 대체하면 됩니다.

댓글남기기