prisma와 supabase 사용시 db pull 및 db push 연결 안되는 문제 해결 방법
prisma와 supabase 사용시 db pull 및 db push 사용시 무한 로딩에 대한 해결 방법을 알아봅니다.
- @prisma/client: ^6.3.1
- @supabase/supabase-js: ^2.48.1
문제점
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
도 동일한 문제가 발생할 수 있으니 참고하시기 바랍니다.