エラー対応

【Supabase/Prisma】Prisma Migrateがいつまでも終わらない原因を調査&解決

【エラー対応】Prisma Migrateを実行して応答がない問題を解決
nanoha.creator@gmail.com

SupabaseをPrismaでマイグレーションしようとした時に、エラーもなく、応答がない状態で困りました。
解決できたので、その方法と原因についてまとめました。

現象

下記の記事などを参考に、Supabase + Prismaの接続を試みました。

そして、マイグレーションをしようと下記コマンドを実行するも、いくら待っても応答がない状態です。

npx prisma migrate dev

マイグレーションされそうなメッセージは出力されますが、この先、いくら待っても応答がありません。
エラーも出ていません。

> npx prisma migrate dev --name init
Environment variables loaded from .env
Prisma schema loaded from prisma\schema.prisma
Datasource "db": PostgreSQL database "postgres", schema "public" at "[HOST]:6543"

解決した方法

結論、.envで設定しているDATABASE_URLのポート番号が誤っていたみたいでした。
以下の6543を5432に変更して、再度マイグレーションを実行すると、成功しました!

DATABASE_URL="postgres://[USER]:[PASSWORD]@[HOST]:6543/postgres?pool_timeout=2"

ポート番号6543と5432は、それぞれ、トランザクションモード、セッションモード、という違いがあります。

Supabase管理画面の下記部分ですね。

Supabase管理画面、モード選択個所

Prismaでマイグレーションを行う際には、セッションモードである必要がある、つまりはポート番号を5432にする必要があるというわけでした。

詳細は、公式ページをご確認ください。

参考記事

ABOUT ME
Haruna Abe
Haruna Abe
Webエンジニア
フロントエンドエンジニア2年目|ReactやTypeScriptなど、フロントエンドの情報を発信していきます
CONTACT

お問い合わせ

制作のお見積もりやご依頼、その他ご相談等ございましたら
お気軽にお問い合わせください。

    記事URLをコピーしました