Prisma Postgresに既存DBのデータをインポートする
先日Prisma Postgresのearly accessが発表されました。Prismaからの利用に制限されますが、従量課金制のPostgreSQLサーバーレスDBとして利用することができるようです。個人開発で固定費用なしでRDBを使うことができるのはとても嬉しいですね。 ですがpsqlでの接続ができないので、pg_dumpの出力をpsqlで取り込むお決まりの手順が使えず、既存のデータをインポートするのにはちょっと手間が必要です。 この記事を書いている2024/11/02時点ではデータのインポート、エクスポート手段は公式に用意されてはいないようでした(まだearly accessですしね) 以下のdiscussion内容を参考にpg_dumpで元DBからdumpを出力し、改変しつつ生SQLとして読ませるseedスクリプトを用意することでインポートに成功しました。 無事成功! 以下は移行にあたっての記録です。 Prisma Posgresの登録 https://www.prisma.io/postgres からログインして登録していく。クレジットカードの登録は不要。 webからぽちぽち登録していけば用意ができる 東京リージョンが用意されている...! Generate database credentialsをクリックすると接続情報が生成される。接続情報は DATABASE_URL="prisma+postgres://accelerate.prisma-data.net/?api_key=xxxx" という形式になっており、独自プロトコル+api_key指定での接続なのでpsqlなど従来のPostgreSQL用のツールは使えない。 念の為psqlでの接続を試してみたけどやはり接続できなかった。 運用中のDBのデータをインポートする 基本はseedか。生クエリを書けるので、pg_dump結果をseedで読ませたらおおよそなんとかなりそうな気がしてきた www.prisma.io/docs/orm/pri... [image or embed] — もひゃ ( @mohya.bsky.social ) 2024年11月2日 16:53 この方針でなんとかなるんじゃないかとあたりをつけて試してみる。 まずはスキーマを元DBから取得して