Prisma와 planetscale 함께 사용하기

김선은·2023년 10월 22일

간단 설명

Prisma와 PlanetScale은 데이터베이스 액세스 및 관리 관련된 기술 스택! 연결을 자주 사용하지 않다보니 금방 까먹어서 그냥 기록해야겠다...

Prisma가 뭔가요?

  • DB와 상호작용하기 위한 도구!
  • Node.js와 TypeScript ORM. (prisma는 번역기 같은 존재)
  • JS 혹은 TypeScript와 DB 사이에 다리를 놓아주는 것이라고 보자.
  • SQL 같은 데이터베이스 언어를 몰라도 Node.js, TypeScript, Rust, Python 등 다양한 언어로 사용 가능
  • 스키마로 모델의 타입을 만들어주고, client로 DB와 상호작용!
  • prisma studio 로 관리자 패널을 간편히 확인할 수 있음

PlanetScale가 뭔가요?

  • MySQL과 호환되는 Serverless 데이터베이스 플랫폼
  • 직접 서버를 관리 할 필요가 없다.
  • CLI가 있어서 git을 사용하듯이 터미널 명령어 가능

관계형 데이터베이스 서비스로서 MySQL을 기반으로 클라우드에서 데이터베이스를 관리하고 확장하는 데 도움을 준다.


명령어

  1. npx prisma init
  • .env에 DATABASE_URL을 내 DB 주소로 변경해서 연결해줘야 한다.
  • schema.prisma 파일에서 datasourece의 provider 설정해야함. 나 같은 경우는 MySQL로
📂schema.prisma
generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider     = "mysql"
  url          = env("DATABASE_URL")
  relationMode = "prisma"
}

- DB에 대한 설명을 담은 파일. 모델을 설정한다.
- prisma는 이 파일을 읽고 DB에 변경점을 deploy
  1. PlanetScale CLI 이용하기.
    CLI을 사용하기 위해서 다음과 같이 터미널에 명령어를 입력하자 (맥 기준)

brew install planetscale/tap/pscale
brew install mysql-client

pscale 입력 후 커맨드 안내가 나오면 설치가 정상적으로 완료!


연결 방법

이미 벨로그에 정리된 포스트가 있다..!
PlanetScale 서버와 연결하기

로그인하기

pscale auth login

region 설정하기 (홈페이지서도 가능)

pscale region list로 목록 확인 -> Asia Tokyo로 설정할 것.

pscale database create db이름입력하기 --region ap-northeast

prisma와 연결

보안 터널을 통해 PlanetScale과 컴퓨터를 연결할 수 있다. 이 터미널 창은 유지시켜야 함!
pscale connect db이름입력하기

pscale 에서 제공하는 URL(ex:127.0.0.1:12345) 데이터베이스에 연결하기
-> .env 파일 수정

📂 .env
예시)
DATABASE_URL="mysql://127.0.0.1:12345/db이름"

model을 DB에 푸쉬

model User 같은 스키마를 정의 한 다음!
npx prisma db push -> Clinet 생성된다!

prisma studio로 DB 관리자 패널 확인하기
npx prisma studio

profile
기록은 기억이 된다

0개의 댓글