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の移行手順について
予想
- まずは既存dbのバックアップを作成 理由: 作業中に仮にデータが破損、消去されてしまった場合に、ロールアップがで出来るように
- ダンプする
- 新しいsupabase pjを作成する
- 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
