Apollo GraphQL with Prisma

1965 단어 graphqlgraphql

GraphQL

페이스북에서 만든 쿼리 언어로, API에 있는 데이터를 쉽고 정확하게 클라이언트에게 요청할 수 있는 기능을 제공한다.

Setup

npm install apollo-server graphql

npm i prisma -D

npm i @prisma-client -D

Usage

const {ApolloServer, gql} = require('apollo-server');

const typeDefs = gql\`

    // Schema definitions go here
    type Track {
        id: ID!
        title: String!
    }
    type Query {
        tracks : [Track]
        track(id: Int!) : Track
    }
\`;

const resolvers = {

    Query: {
        tracks: () => ...
        track: (_,{ id }) => ...
    },
    Mutation: {

    },

};

const server = new ApolloServer({typeDefs, resolvers});

server.listen().then(()=> console.log(Server is running));

PrismaPrisma와 함께 사용하면 데이터 베이스를 더 쉽게 관리할 수 있다.

npm install prisma -D  
npx prisma init

schema.prisma라는 파일이 생기는데, 이파일에 model을 만들면 된다.

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

generator client {
  provider = "prisma-client-js"
}

model Track{
    id Int @default(autoincrement()) @id
    title String
    name @unique
    // type옆에 ? 입력하여 필수조건을 없앨 수 있다.
}

schema.prisma을 수정할 때 마다 migrate를 하면 되는데, 이는 prisma client를 sync하고 generate한다.

npx prisma migrate dev
migration name? : track model

PostgreSQL, Prisma Studio

Download PostgreSQL + pgAdmin을 함께 설치할 수 있는 링크

https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

prisma studio 데이터 베이스를 시각적으로 나타내주는 에디터

npx prisma studio

좋은 웹페이지 즐겨찾기