@vercel/postgres
를 사용했던 프로젝트에서 금액과 기능과 이모저모의 여러 이슈로 AWS RDS로 마이그레이션을 하게 되었는데, 이 과정에서 DB 연결 라이브러리로 prisma를 선택했다. 로컬에서 야무지게 연동을 마치고 실제로 띄워봤을 때에도 잘 적용되나 확인하려고 vercel preview를 배포하니 28개나 떠있는 에러에 순간 압도당해버렸다.
holymoly... 😇
Error: Prisma has detected that this project was built on Vercel,
which caches dependencies. This leads to an outdated Prisma Client
because Prisma's auto-generation isn't triggered. To fix this, make
sure to run the `prisma generate` command during the build process.
침착하게 에러를 다시 확인해 보니 대부분의 에러가 동일한 문구였고, 친절하게도 어떻게 고치면 되는지까지 적혀 있었다. (감사합니다!)
로컬에서는 prisma generate
를 실행하여 DB schema에 맞춰 Prisma Client를 자동으로 생성했는데, Vercel에 배포하면서 이 과정이 누락된 것이기 때문에, Vercel 빌드 과정에서도 동일하게 해당 명령어를 실행할 수 있도록 빌드 명령어를 수정하면 된다.
My Project - Setting - General - Build & Development Settings - Build command
나는 패키지 매니저로 yarn
을 사용하고 있었기 때문에 yarn run prisma generate
로 입력해 넣었는데, 사용하고 있는 패키지 매니저 명령어에 따라 npx prisma generate
등으로 맞게 수정해서 넣어 주면 된다.