본문 바로가기
Database/Prisma

Prisma & PlanetScale 설치 및 연결 (yarn, next.js, mysql)

by 위그든씨 2022. 12. 4.

Prisma 설치

  • vs code extension 에서 prisma 서리
yarn add prisma --dev
yarn add @prisma/cli
  • env 파일과 schema.prisma 파일 생성 
npx prisma init
  • 생성된 schema.prisma에 데이터 model을 작성해줌
  • datasource db 안에 provider 속성에 사용할 db 입력 (mysql 등등)
  • env 안에 넣을 DATABASE_URL은 pscale을 통해 db에 연결하면 나오는 ip값을 넣어주면 됨(아래에 자세히 작성)
generator client {
    provider        = "prisma-client-js"
}

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

model User {
    id        Int      @id @default(autoincrement())
    phone     Int?     @unique
    email     String?  @unique
    name      String
    avatar    String?
    createdAt DateTime @default(now())
    updatedAt DateTime @updatedAt
}

PlanetScale 설치

iwr -useb get.scoop.sh | iex

//여기서 혹시 에러가 나면 「Set-ExecutionPolicy RemoteSigned -scope CurrentUser」

scoop install curl
  • scoop을 통해 pscale 설치
scoop bucket add pscale https://github.com/planetscale/scoop-bucket.git

scoop install pscale mysql

설치 후 pscale 입력시 이렇게 뜨면 설치 성공

DB 만들기 

  • pscale 로그인
pscale auth login
  • db 생성
pscale database create DB명 --region --지역

     cf) 지역명은 pscale region list로 확인 가능 

아시아는 보통 싱가포르나 도쿄 사용

  • 생성한 db에 연결
pscale connect DB명

그럼 ip값이 뜨는데 그것은 env 파일에 있는 DATABASE_URL 에 넣어주면 됨 ( DBMS://ip/DB명 )

  • schema.prisma 에서 만든 데이터 모델을 push해준다.(vs code에서) => power shell은 현재 pscale과 연결중
npx prisma db push

DB에 잘 넣었나 확인하기 (2가지 방법)

  1. pscale 사이트에서 확인
  2. prisma studio 이용 (vs code에서 입력) -> 스튜디오에서 데이터 직접 관리 가능
npx prisma studio