Vercel 배포 문제

계발자·2024년 4월 24일

현재 패스트캠퍼스에서 강의 하나를 듣고 있다.
프로젝트 진행 중 배포 후 페이지에서 DB연결 부분에 문제가 있어서
몇일 동안 계속 문제를 해결해보려고 강사님께도 물어봤는데 해결이 되지 않았다...

그러던 중 vercel 프로젝트의 logs 부분에서 무언가 오류가 보이는 것이었다.

⨯ PrismaClientInitializationError: 
Invalid `prisma.store.findMany()` invocation:


error: Error validating datasource `db`: the URL must start with the protocol `postgresql://` or `postgres://`.
  -->  schema.prisma:10
   | 
 9 |   provider = "postgres"
10 |   url      = env("DATABASE_URL")
   | 

Validation Error Count: 1
    at _n.handleRequestError (/var/task/node_modules/@prisma/client/runtime/library.js:123:7154)
    at _n.handleAndLogRequestError (/var/task/node_modules/@prisma/client/runtime/library.js:123:6188)
    at _n.request (/var/task/node_modules/@prisma/client/runtime/library.js:123:5896)
    at async l (/var/task/node_modules/@prisma/client/runtime/library.js:128:10871)
    at async GET (/var/task/.next/server/app/api/stores/route.js:1:1895)
    at async /var/task/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js:14:39709 {
  clientVersion: '5.10.2',
  errorCode: undefined
}

DB에 연결을 요청하는 URL에 무언가 문제가 있는 것 같았다.

그래서 코드를 확인해보니 코드쪽에는 문제가 없었다.

그렇다면...

Vercel쪽 프로젝트 환경변수를 확인해보니...

로컬 환경에서는 더블 쿼테이션(" ")을 사용해도 컴파일에는 문제가 없어 프로젝트가 잘 작동했다.

그러나 vercel로 배포할 때에는 더블 쿼테이션을 같은 문자열로 인식하는 것 같다.

그래서 위의 에러가 발생했다 생각했고, 프로젝트 환경변수에 "" 를 제거하고 재배포를 해보니!

깔끔하게 에러 없이 잘 나타났다.


Vercel로 배포 후에 혹시나 DB 연결 관련하여 문제가 생겼다면

1차로 배포 logs를 확인해보고 해결 방법을 찾는 것이 좋겠다.

profile
3년차 닭띠 프론트엔드 개발자입니다.

0개의 댓글