카테고리 없음 2020. 2. 25. 17:28

Prisma는 ORM(Object-relational mapping)이다.

Prisma는 데이터베이스 관련한 어려운 문제들을 해결해준다.

 

Prisma는 어플리케이션에서 필요한 모델을 graphql로 정의할 수 있다는 점에서 

다른 ORM과 비교해 특별하다.

 

prisma를 하기 위해서는 우선 회원가입이 필요하다.

 

https://prisma.io 

 

Prisma - Database tools for modern application development

Prisma replaces traditional ORMs and can be used to build GraphQL servers, REST APIs, microservices & more.

www.prisma.io

 

터미널에 npm install -g prisma 로 설치 후 ( global로 설치하지 않으면 에러가 난다 정확한 이유는 모르겠다.)

Log into Prisma CLI 코드를 복사해서 프로젝트 터미널에 붙여넣자.

 

 

인증을 성공했고 이제 서비스를 이용할 수 있다.

prisma init 명령어로 서비스를 시작할 수 있다.

기존 데이터베이서를 사용할지, 새로만들지 선택할수 있다.

Demo server를 선택하자. 데모 환경에서 호스팅 되는것이다.

 

서비스 이름은 kimgram-backend

stage는 dev

client는 javascript

 

코드가 generated 폴더에 생성된다 . (기본적인경우 이 폴더는 .gitignore에 등록해주자)

 

모델은 아래와 같다 datamodel.prisma

모델을 prisma에 추가하고 싶다면

prisma deploy를 입력하자.

prisma 계정에 반영됨

 

posted by LotzBurger
:
카테고리 없음 2020. 2. 25. 16:53

logging 전용 미들웨어 모듈인 morgan을 설치하자

yarn add morgan

 

server.js에 

import logger from "morgan" 추가

 

GraphQLServer에는 express 서버가 내장되어 있다. 따라서

server.express라고 입력하면 GraphQLServer 내의 express서버에 접근할 수 있다

express 서버에서 morgan미들웨어(logger모듈)을 사용하기로한다.

 

server.js에 서버 생성 후 

server.express.use(logger("dev"));를 입력 // "dev"는 옵션이다.

 

sever.js에 기존에 입력된 것처럼 typeDefs와 resolvers를 추가하지 않고 더 프로페셔널하게 추가해보자.

 

src/api 경로에 모든 graphql과 resolvers파일들을 추가한후 

src/schema.js에서 해당하는 모든 graphql, resolvers 파일들을 import한다.

src/server.js에서는 schema.js 파일 하나만 import한다.

 

이를 위해서는 graphql-tools / merge-graphql-shemas를 설치하자.

yarn add graphql-tools merge-graphql-shemas

 

 

테스트를 위해 

src/api/Hello/sayHello 디렉토리에 

sayHello.graphql

sayHello.js 파일을 추가한 후 

 

sayHello.graphql에

sayHello.js에

src/schemas.js에

src/server.js에

import schema from "./shema";

const server = new GraphQLServer( {schema } ); 

추가한다.    

 

localhost:4000에서 검증해보자

잘된다!

posted by LotzBurger
:
카테고리 없음 2020. 2. 21. 11:37

graphql-yoga를 이용해 서버를 세우고,

그 다음에 prisma를 서버 코드에 추가할 계획( what is prisma?)

graphql-yoga는 graphql서버를 쉽게 설치하게 도와줌. 

https://github.com/prisma-labs/graphql-yoga

 

prisma-labs/graphql-yoga

🧘 Fully-featured GraphQL Server with focus on easy setup, performance & great developer experience - prisma-labs/graphql-yoga

github.com

.babelrc파일을 추가하고 아래처럼 작성,

yarn add @babel/{node,preset-env,core}

위 두 작업을 하지 않으면 import인식 에러뜸

 

dotenv 모듈을 설치하자. dotenv모듈은 .env 파일을 읽는다.

yarn add dotenv

 

src/server.js파일을 아래와 같이 작성한다.

 

서버를 만들때 GraphQLServer()를 이용한다 이때 파라미터로

typeDef와 resolver들이 필요함. 

 

dotenv config 에서 포트를 읽어오게 할 수 있다. 

.env파일에 PORT를 추가하자. 

 

yarn dev를 실행하면 

콘솔 로그 가 출력되는것을 볼 수 있따.

***만약 Error: Requires Babel "^7.0.0-0", but was loaded with "6.26.3".  에러 발생시 

    yarn remove babel-cli 를 해주도록 하자 ***

posted by LotzBurger
: