1. Prisma & PostgreSQL 개발환경설정

용상윤·2021년 5월 18일
1

Prisma

목록 보기
1/3

prisma란?

간단히 Prisma는 데이터베이스가 필요한 상태에서 react, apollo, graphql 등 다른 프레임워크들과 함께 빠르게 빌드를 하도록 도와주는 ORM이다.

ORM이란?

ORM에 대해 잘 정리해주신 글
https://gmlwjd9405.github.io/2019/02/01/orm.html

ORM에 대해 조금 알아보면..

ORM (Object Relational Mapping, 객체-관계 매핑)
객체와 관계형데이터베이스 간의 불일치를 해결해주는 수단인데, 프로젝트의 복잡성이 커질 경우에는 사용하기가 어렵다. 하지만 당장 베타서비스를 제공하기 위해 빠르게 빌드를 해야한다면 고려해보자.


개발환경설정

(windows10 으로 진행합니다.)

Prisma 공식홈페이지 첫화면의 명령어를 입력하자.

https://www.prisma.io/

📌 npm install prisma -D
📌 npx prisma init

그러면 우리의 디렉토리 안에 prisma - schema.prisma.env 파일이 생기는데,
📌 .env 파일은 필히 .gitignore에 넣어두자(매우 중요)


prisma - schema.prisma를 보면 Prisma는 기본적으로 Postgresql을 지원하는데, 설치되지않았다면 설치하도록 하자.

📖 PostgreSQL

  • postgrSQL 설치하기 & 환경변수설정
  • pgAdmin4 설치하기
  • 유저생성하기

📌 postgresql 설치 & 환경변수설정

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

  • pgAdmin4는 따로 설치할 것이므로 체크해제
    - 함께 설치하지 않고 따로 설치한 이유는 pgAdmin4 접속 시
    pgadmin4 server could not be contacted 에러가 났기 때문인데 따로 설치하면 에러가 나지 않았음.
  • locate는 Korea로 지정해주자.
  • 설치할 때의 비밀번호는 슈퍼유저의 비밀번호다. 잊으면...곤란하다.

postgresql 환경변수설정(windows10)

C:\Program Files\PostgreSQL\13\bin
폴더위치를 디폴트값으로 설치했다면 위와 같은 경로(13은 버전명이므로 달라질 수 있음)를

  1. 시스템환경변수편집 → 환경변수 → 시스템변수에서 변수 값이 Path인 곳을 클릭 → 새로만들기 버튼을 누르고 붙여넣는다.

  1. 이제 cmd창에서 버전확인을 할 수 있다.
    > postgres --version
    postgres (PostgreSQL) 13.3

📌 pgAdmin4 설치

https://www.pgadmin.org/download/pgadmin-4-windows/

pgAdmin4는 데이터관리를 도와주는 GUI이다.
CREATE, DROP 등의 명령어를 사용하지 않고도 데이터베이스를 관리하기 편함.

설치 후 접속할 때의 비밀번호는 postgresql을 설치할 때 설정했던 비밀번호다.


📌 유저 & 데이터베이스 생성하기

(mySQL을 사용해봤다면 postgresql이 친숙하게 느껴질지도...?)

SQL shell(psql) 로 접속해서 \du 를 입력하면 유저이름들이 나오는데 postgres는 슈퍼유저이므로 프로젝트에 사용할 새로운 유저를 만들어주도록 하자.

유저생성
postgres=# CREATE USER 유저이름 WITH PASSWORD '패스워드';

권한주기

이렇게 만든 유저는 아무런 권한도 가지고 있지 않다.
일단 DB생성 및 복제의 권한을 주도록 하자.
(pgAdmin4 의 Login/Group Roles를 통해 명령어없이 추가적인 권한을 줄 수도 있으니 나중에 써먹자.)

postgres=# ALTER ROLE 유저이름 CREATEDB REPLICATION;

  1. 이제 shell을 종료 후 다시 실행해서 새로 생성한 USER로 접속을 하자.

  2. CREATE DATABASE 데이터베이스이름; 명령어로 데이터베이스를 생성 후

  3. pgAdmin4을 실행하고 슈퍼유저의 패스워드로 접속을 하면 '2'에서 만든 데이터베이스가 있는 것을 확인할 수 있고 properties의 owner가 새로 생성한 유저인 것을 확인할 수 있다.


📌 다시 .env 파일로 돌아와서, DATABASE_URL = ... 부분을
DATABASE_URL="postgresql://유저이름:유저패스워드@localhost:5432/데이터베이스이름?schema=public" 로 바꿔준다.

profile
달리는 중!

0개의 댓글