Vercel Storage
- 웹용으로 설계된 서버리스 스토리지 (경량)
- 새롭게 배포할 때 마다 vercel은 서버를 다시 만듦. 이 과정에서 .db파일이 다시 만들어져서 기존 데이터가 날라가게 된다.
⇒ 스토리지를 따로 구축해서 데이터 보관!
사용방법
: Storage 탭 → Postgres → db이름과 지역 선택 → Create
→ Quickstart 탭에서 Prisma 선택 → 해당 db 코드를 schema.prisma에 교체 → connect project
datasource db { provider = "postgresql" url = env("POSTGRES_PRISMA_URL") //uses connection pooling directUrl = env("POSTGRES_URL_NON_POOLING") // uses a direct connection }
해당 환경변수는 vercel이 갖고 있음. 코드로 다운로드 받고 싶다면?
npm i -g vercel
→ vercel login
→ vercel link
→ 로그인 후 프로젝트 링크 → vercel env pull .env.development.local
⇒ .env.development이 생성되는데, 이 코드들을 .env에 복붙!
"scripts" : { .. “build” : “prisma generate && prisma migrate deploy && next build” }
⇒ 해당 코드를 추가함으로써 deploying할 때 client 생성, 스키마 동기화 명령어를 실행하도록 한다
connection pooling
: db 연결 관리 (연결 한도가 정해짐)
⇒ 유저는 connection pooling이 적용된 url로 db 먼저 접근해서 실제 url(pooling x)로 연결됨
이외에도 deploy를 위해 해야할 것들
- .env에 있는 환경변수들을 vercel 환경변수로 등록! (복붙하면 한번에 됨)
- functions의 지역을 db(싱가폴)나 사용자(한국)들에 가깝게 변경