양키와 Prisma2(프리즈마) 시작하기 #.01 Database 설치

2020. 1. 1. 23:35OS & Server/Prisma

 

 

이전에 제 블로그를 통해 발행된 글을 읽어 보신 분들은 이미

GraphQL이나 Prisma가 대체로 무엇을 하고 어떤 역할이며, Rest API와 어떤 점이 다른지 정도는

이해하셨을 텐데, 그럼 이제 본격적으로 Prisma2에 대해서 파헤쳐 보려고 합니다.

말의 어순이나 내용이 난잡하지만 이해를 하셨다면 다행...

 

 

 

관련 게시물

 

 

여타 블로그나 게시글 등을 참조하면 Prisma1에 대해서는 대충 언급이 되어 있습니다.

하지만 Prisma2는 자료가 찾기 힘들기 때문에... 제가 여러분들을 대신해서

공식문서를 삽질하고 곧 출시할 사이트를 하나 제작하면서 직접 적용해보며 문서를 작성하게 될 것 같네요.

 

 

저는 기존에 Django를 통해 ORM을 사용해보았었고, 이를 바탕으로 조금씩 견해가 들어갈 수 있습니다.

또한 Prisma2에서는 javascript와 typescript를 사용하고 있으며, go언어도 곧 지원할 예정이라고 하는데요

저는 여기서 javascript를 사용하여 기술합니다.

 

Database 또한 Prisma2에서는 mysql, postgresql, sqlite 그리고 mongodb를 지원하는데

mongo의 경우 go언어와 마찬가지로 아직 준비 중인 단계에 있습니다.

 

 

선행 권장 학습 목록

  • docker
  • docker-compose
  • database(mysql)
  • Javascript

 

선행 지식으로는 간단하게는 위의 목록 정도 되고,

docker나 docker-compose의 경우 prisma1에는 강제적이었지만 2에서는 선택적 사항입니다!

따라서 docker와 docker-compose는 자동 설치 셸 스크립트를 제공해서 Database를 설치용으로만 사용하고 결국 도커와 컴포즈를 몰라도 충분히 따라 할 수 있습니다.

 

 

본 게시물을 통해 학습하는 경우에서는 사실 javascript만 알고 계시면 충분합니다.

어차피 prisma가 데이터베이스를 자동 생성 관리해주기 때문이죠!

 

 

 

 

학습 환경

# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.3 LTS
Release:	18.04
Codename:	bionic


# docker -v
Docker version 18.09.7, build 2d0083d

# docker-compose -v
docker-compose version 1.24.1, build 4667896b

 

 

Github 저장소

https://github.com/YankeeTube/learn-prisma2

 

YankeeTube/learn-prisma2

Prisma2의 학습을 도와줄 저장소. Contribute to YankeeTube/learn-prisma2 development by creating an account on GitHub.

github.com

 

 

 

 

 

Database 설치하기

wget https://raw.githubusercontent.com/YankeeTube/learn-prisma2/master/install.sh && chmod +x install.sh && ./install.sh

Ubuntu에서 위 명령을 복붙(복사, 붙여 넣기) 하시면 최신 버전의 docker와 docker-compose를 자동으로 설치해줍니다.

수동으로 해도 되지만 docker와 docker-compose를 사용해본 적 없으실 분들을 위해

자동 설치 스크립트를 만들었습니다!

 

자 이제 우리는 도커와 도커 컴포즈를 이용해서 mysql을 설치해야 합니다.

mysql을 설치하기 전에 database를 설정해야 하는데 제가 또 미리 정의를 해뒀습니다.

 

 

https://github.com/YankeeTube/learn-prisma2/blob/master/prisma2/docker-compose.yml

 

YankeeTube/learn-prisma2

Prisma2의 학습을 도와줄 저장소. Contribute to YankeeTube/learn-prisma2 development by creating an account on GitHub.

github.com

 

 

 

위 내용에서 environment 다음에 오는 MYSQL_PASSWORD 등과 같은 값을 변경하여,

mysql을 수정할 수 있습니다. 단순 학습을 위한 용도의 경우 그냥 사용하셔도 무방합니다.

 

 

 

 

mkdir -p ~/prisma2 && \
cd prisma2 && \
wget https://gist.githubusercontent.com/YankeeTube/21fc1357bbba2727857b4b82bfe7b2fc/raw/8d26c81168bf9aa77520cb90a393b0e9b27fbf6d/docker-compose.yml && \
sudo docker-compose up -d

위 명령어를 복붙(복사, 붙여 넣기)하시면 자동으로 mysql을 설치해줍니다!

하지만 수동 설정하신 분들은 github 저장소를 참고하시거나, 저장소를 clone 해서 compose 파일을 수정해주시면 됩니다!

 

 

sudo docker ps -a

위 명령어를 입력해보면

sudo docker ps -a

mysql 도커 컨테이너가 실행 중인 것을 확인할 수 있습니다.

이 mysql을 접속하려면 ip는 당연히 ubuntu의 ip를 확인(ifconfig, ipaddr)해서 해주시면 되고,

 

ubuntu내에서 접근한다면 localhost로 사용해주시면 됩니다!

 

 

Host IP: <Ubuntu IP>
port: 3306
username: root
password: learn1234!

접속해보시면 learn이라는 테이블이 생성된 것을 확인할 수 있습니다!

 

 

 

 

요약

오늘은 Docker와 Docker-compose를 설치하고, docker-compose를 통해 mysql을 설치해보는 시간을 가졌습니다.

다음 챕터에서는 Prisma2를 사용하기 위해 NVM을 설치해보도록 하겠습니다.

1 2 3 4