prisma와 supabase 사용시 db pull 및 db push 사용시 무한 로딩에 대한 해결 방법을 알아봅니다.
prisma와 supabase를 사용하면서 db pull을 하거나 db push시에 별 다른 에러코드나 메시지 없이 무한 로딩으로 연결이 안되는 경우가 있습니다.
이번에 겪은 이슈는 npx prisma db pull을 했을 때 db pull이 한참동안 진행되는 문제가 있었습니다.
상황은 다음과 같은 상황에서 발생했습니다.
npx prisma db pull
Prisma schema loaded from prisma/schema.prisma
Environment variables loaded from .env
Datasource "db": PostgreSQL database … 데이터베이스 주소
⠸ Introspecting based on datasource defined in prisma/schema.prisma위와 같이 Introspecting based on datasource defined in prisma/schema.prisma에서 멈춰있는 상황이었습니다.
해결방법은 간단합니다.
supabase에서는 directUrl을 제공해 줍니다.
기본 prisma init 설정에는 directUrl 생략되어 있습니다.
prisma/schema.prisma 파일을 열어서 다음과 같이 수정해 줍니다.
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
// directUrl 추가
directUrl = env("DATABASE_URL")
}위와 같이 directUrl을 추가해 주면 됩니다.
환경 변수에는 반드시 supabase에서 제공해주는 DATABASE_URL이 있어야 합니다.
이후 다시 npx prisma db pull을 실행하면 정상적으로 pull이 됩니다.
이렇게 supabase를 사용할 때 발생하는 prisma와의 연결 문제를 해결할 수 있습니다.
db pull 뿐만 아니라 db push도 동일한 문제가 발생할 수 있으니 참고하시기 바랍니다.