One Server

ドキュメント

データベースブランチ

gitブランチごとのプレビュー用データベース: 作成、プレビューデプロイへの接続、マージ、初期化、削除、料金。

データベースブランチ(プレビュー用データベース)

ブランチは、プロジェクトのスキーマから作るデータベースです。gitブランチごとに1つ置くと、そのブランチのプレビューデプロイが 本番のデータベースではなくブランチを使います。Proプランからプロジェクトごとに3つまで(エンタープライズは10)持てます。

  • 作るときに、プロジェクトのマイグレーション履歴(apply_migrationsやoneend db pushで適用したもの)を順に再実行し、
  • ブランチは独自のrefを持つプロジェクトです。list_branchesのrefをrun_sql、get_project_keys、
  • ブランチのgitブランチからプレビューをデプロイすると、デプロイの環境変数にブランチのSUPABASE_URL、NEXT_PUBLIC_SUPABASE_URL、
  • merge_branchは、ブランチにだけあるマイグレーションを本番に適用します。そのため、ブランチでスキーマを変えるときは
  • gitブランチを削除するかプルリクエストを閉じると、ブランチも削除されます。最後のデプロイの後、保持期間(既定14日)が過ぎても
create_branch { ref, git_branch: "feature/login" }
list_branches { ref }
apply_migrations { ref: "<branch ref>", migrations: [{ version: "20261005000000", name: "add_profiles", sql: "..." }] }
merge_branch { ref, name: "feature-login" }
reset_branch { ref, name: "feature-login", confirm: "feature-login" }
delete_branch { ref, name: "feature-login", confirm: "feature-login" }
set_branching { ref, automatic: true, seed_sql: "insert into plans (code) values ('free');", lifetime_days: 14 }

set_branchingのautomaticをオンにすると、プレビューとしてデプロイされるgitブランチごとにブランチが自動で作られます。

料金: ブランチのデータベース容量はデータベースの保存容量として、ブランチがある間は1時間あたり0.25GBのサーバーメモリ (runtime_gb_hour)として、プロジェクトの組織に請求されます。毎晩のバックアップは取りません。

HTTPではGET /branches、POST /branches、POST /branches/<名前>/merge、POST /branches/<名前>/reset、 DELETE /branches/<名前>、PUT /branchingです。