Apollo GraphQL with Prisma
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을 함께 설치할 수 있는 링크
페이스북에서 만든 쿼리 언어로, API에 있는 데이터를 쉽고 정확하게 클라이언트에게 요청할 수 있는 기능을 제공한다.
npm install apollo-server graphql
npm i prisma -D
npm i @prisma-client -D
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
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
prisma studio 데이터 베이스를 시각적으로 나타내주는 에디터
npx prisma studio
Author And Source
이 문제에 관하여(Apollo GraphQL with Prisma), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@3000/Apollo-GraphQL-with-Prisma저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)