🫰

Supabaseの仕様変更で急にPrismaで参照できなくなってた

2024/01/31に公開

SupabaseのWEBページは正常なのにPrismaでGETするところだけ何故か失敗してた。昨日ぐらい?から急に。

Supabaseの仕様変更

こんなページを発見。
https://github.com/orgs/supabase/discussions/17817
なんか変わったらしい。

URIの変更

Project Settings(左側の歯車のマーク) -> Database -> Connection string
の部分を見ると、元々プロジェクト内で設定していたURIから変わっているので、新しいのに書き換える。

筆者環境では.envに環境変数でDATABASE_URLとして定義していたが、以下のように変更した。

DATABASE_URL="postgres://postgres.[your-supabase-project]:[password]@aws-0-ap-northeast-11.pooler.supabase.com:6543/postgres?pgbouncer=true"
DIRECT_URL="postgres://postgres.[your-supabase-project]:[password]@aws-0-ap-northeast-1.pooler.supabase.com:6543/postgres"

なんかよくわからないけどこのDIRECT_URLというのを別で設定してクエリ用とマイグレーション用でURLを分ける必要があるらしい。

schema.prismaも変更

schema.prismaファイルのdatasourceの中でdirectUrlを設定する。

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
  directUrl = env("DIRECT_URL")  //この部分を追加した
}

この後環境を起動しなおしたらまたGETできるようになりました。

参考

https://github.com/prisma/prisma/issues/11831

Discussion