현재 패스트캠퍼스에서 강의 하나를 듣고 있다.
프로젝트 진행 중 배포 후 페이지에서 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로 배포할 때에는 더블 쿼테이션을 같은 문자열로 인식하는 것 같다.
그래서 위의 에러가 발생했다 생각했고, 프로젝트 환경변수에 "" 를 제거하고 재배포를 해보니!

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