terada_life

DBの移行(dump)について

概要

個人開発でDB移行が発生した際の学びをまとめる。supabaseのregion問題による画面遷移の遅延をきっかけに、DBデータの移行手順やdumpについて調査。

内容

背景

pixiの開発において、supabaseをDBとして採用。FEのログイン画面からダッシュボード画面への遷移に約5s〜10s程度かかっていた(ローカルでは0.5s未満)。

FEやBEの実装を疑い、並行フェッチやprefetch、キャッシュの活用、クエリやロジックの見直しを行ったが改善せず。

supabaseのregionとvercelのregionが異なる(遠すぎる)せいで初回レンダリングが遅いという仮説を立てた。regionを変更するにはsupabaseのプロジェクトを新たに作り、データを移行する必要がある。

DBの移行手順について

予想

  1. まずは既存dbのバックアップを作成 理由: 作業中に仮にデータが破損、消去されてしまった場合に、ロールアップがで出来るように
  2. ダンプする
  3. 新しいsupabase pjを作成する
  4. dumpしたファイルを適用する(もとに戻すイメージ)

geminiの回答

FB→dumpとバックアップはまとめられる

ステップ作業内容理由ポイント
1.サービス停止既存アプリをメンテナンス状態にする移行中のデータ不整合を完全に防ぐため。
2. ダンプ作成pg_dump コマンド等でデータを抽出これがバックアップ兼、移行用データになる。
3. 新PJ作成Supabaseで新しいプロジェクトを立ち上げるリージョン設定などを間違えないように注意。
4. 環境構築拡張機能や設定を合わせる移行元で使っているExtensionをONにする。
5. リストアpsql コマンド等でダンプを適用抽出したデータを新しいDBに流し込む。
6. 動作確認データの件数や接続テストを行う最後にアプリと繋いで問題ないか確認して完了!

Dumpって何?

  • TODO: まとめる

レプリケーションについて

ゴール

  • アウトプットの欄にdbの移行手順についてまとめられていること
  • dumpとは何かを話せるようになっていること
  • 現場での例もまとめていること

参考資料

メタデータ

  • ステータス: 下書き
  • タグ: DB移行, dump, supabase, region
  • 作成日時: 2026/03/11
  • 更新日時: 2026/03/11