NextJS 프로젝트에 Prisma 설치 + PlanetScale과 연동
npm install prisma -D
npx prisma init
Root 경로에 두개의 파일 생성
.env : DB연결을 위한 설정값들
schema.prisma : DB 정의 (모델 정의)
MySQL과 호환되는 Serverless Database Platform 으로, 데이터베이스를 제공해주는 플렛폼이다. (Serverless는 우리가 서버를 관리하고 유지보수 할 필요가 없다는 뜻)
RDS는 사용자가 직접 서버 크기 설정 등 셋팅을 해줘야 하고, 유저가 늘어났을 때 스케일링 등의 작업을 유저가 직접 함. Serverless 플렛폼은 이러한 역할들(Vacumming, rebalancing, scaling 등)을 대신 해준다.
MySQL의 Scaling 을 더 효율적으로 할 수 있도록 제작된 오픈소스 클러스터링 시스템.
Vistess는 유튜브의 많은 데이터 처리를 위해 Google에서 제작한 오픈소스.
대규모 오픈소스 데이터베이스 인스턴스 클러스터를 구축, 확장 및 관리하기 위한 데이터베이스 솔루션으로 PlanetScale의 제작 기반으로 사용됨
> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # Optional: Needed to run a remote script the first time
> irm get.scoop.sh | iex
scoop bucket add pscale https://github.com/planetscale/scoop-bucket.git
scoop install pscale mysql
설치 완료 후, PowerShell에서 pscale 입력하면 설치 확인할 수 있다
로그인
Database 생성
admin panel 에서 생성한 데이터베이스 확인 가능
pscale connect [DATABASE_NAME] (--org [orgname])
--> 127.0.0.1:3306 url 을 통한 PlanetScale 서버와 연결
npx prisma db push
planetScale 에서 생성한 스키마 확인 가능
Prisma Studio 이동 (pscale connect 한 상태에서 실행해야 함)
npx prisma studio
npm install @prisma/client
npx prisma generate