👻
【Supabase】"Error: P1001: Can't reach database server at XXX"の解消方法
症状
自分のPC上で構築したNext.js+prisma+Supabaseの構成で、Next.jsのアプリから
npx prisma migrate dev --name init
でSupabaseへテーブル作成(migrate)しようとすると、以下のようなエラーが発生しました。
Error: P1001: Can't reach database server at `aws-0-ap-northeast-1.pooler.supabase.com:5432`
その時の解消方法を記載します。
(dockerを使った構成の情報が多くヒットしましたが、私のように自分のローカルPCからのエラーに関する情報が少なかったため)
解消方法
-
Supabaseの画面のヘッダー部分にある[connect]をクリックして、[ORMs]のタブに移動
-
[Tool]の部分が[Prisma]になっていることを確認して、[.env.local]の内容をコピーして、自分の
.env
ファイルに貼り付ける
-
[YOUR PASSEORD]
の部分をデータベース作成時に設定したパスワードに書き換える(DATABASE_URL
とDIRECT_URL
の両方。両端のカッコも不要!) -
[prisma/schema.prisma]のタブの内容をコピーして、自分の
prisma/schema.prisma
に貼り付ける(最初から記載されている内容は削除) -
psql <.envに記載したDIRECT_URL>
を実行してデータベースにアクセスできることを確認する -
無事にアクセスできたら再度マイグレーションのコマンドを実行する
Discussion