チュートリアル: ブランチベースの開発ワークフロー
ベータ版
Lakebase Postgres (オートスケール Beta) は、 Lakebase の次のバージョンであり、評価のみに利用できます。 本番運用ワークロードの場合は、 Lakebase Public Previewを使用します。 どのバージョンが適しているかを判断するには、バージョンの選択を参照してください。
Git ブランチのようなデータベース ブランチを使用して、各開発者に独立した作業用の分離されたデータベース ブランチを提供し、その後リセットして同期を維持する方法を学習します。
前提条件
- Lakebase プロジェクト ( productionおよびdevelopmentブランチが付属)
- SQL と Postgres に関する基本的な知識
開始スキーマを設定する
開発者ブランチを作成する前に、開発ブランチに簡単なスキーマを設定します。これは、すべての開発者がフォークする共通の出発点として機能します。個人用ブランチを作成すると、コピーオンライトを通じてこのスキーマが即座に継承されます。
- Lakebase UI で 開発 ブランチに移動します。
- SQL エディターを開きます。
- サンプル データを使用して基本的なユーザー テーブルを作成します。
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    email TEXT NOT NULL UNIQUE,
    created_at TIMESTAMP DEFAULT NOW()
);
INSERT INTO users (email) VALUES
    ('alice@example.com'),
    ('bob@example.com'),
    ('charlie@example.com');
開発者ブランチを作成する
チームの各開発者は、進行中の作業のために長期ブランチを持つことができます。親と同期を保つために定期的にリセットしてください。
プロジェクトのブランチ リストから 開発 ブランチを選択し、 [子ブランチの作成] をクリックします。名前をdev/alex (パターンdev/<your-name>に従う) にして、 [作成] をクリックします。
ブランチは即座に作成され、開発からコピーオンライトまでのすべてのスキーマとデータが含まれます。
ブランチ階層:
production (root)
  └── development (has users table + data)
        └── dev/alex (instantly inherits users table + data)
機能を開発する
.envファイル内の接続文字列を更新してアプリケーションを開発ブランチにポイントし、通常のワークフローを使用して機能を開発します。
たとえば、アプリケーションにユーザー設定の追跡を追加するには、ユーザー モデルを更新し、フレームワーク (Prisma、Alembic、Django など) を使用して移行を生成し、それをdev/alexブランチで実行する必要があります。移行ファイルには次の内容が含まれる場合があります。
ALTER TABLE users ADD COLUMN preferences JSONB DEFAULT '{}';
CREATE INDEX idx_users_preferences ON users USING GIN (preferences);
移行を実行した後、アプリケーション コードで設定機能を開発し、完全なフローをローカルでテストします。ブランチは完全に分離されており、変更は本番運用や他の開発者には影響しません。
変更内容を確認する
他の環境に昇格する前に、スキーマ diff を使用して、何が変更されたかを正確に確認します。dev/alexブランチの概要に移動し、 [スキーマの差分] をクリックして、 developmentと比較します。
並べて比較すると、新しいpreferences列とインデックスが緑色で表示されます。

この検証ステップは、本番運用に至る前に意図しない変更を検出するのに役立ちます。 完全なスキーマ比較ドキュメントについては、 「ブランチ スキーマの比較」を参照してください。
変更を宣伝する
変更に自信が持てるようになったら、アップストリーム ブランチに昇格します。dev/alexで検証したのと同じスキーマ変更をdevelopmentブランチに適用し、アプリケーション コードをデプロイします。このワークフローにより、スキーマの変更が共有環境に到達する前に個別にテストされることが保証されます。
リセットして新しく始める
新しい作業を開始する準備ができたら、他の開発者による変更が加えられている可能性があるdevelopmentと同期を保つために、個人用ブランチをリセットします。これにより、現在の共有ベースラインから新たなスタートを切ることができます。
dev/alexブランチに移動し、 「親からリセット」 をクリックします。リセット モーダルは、すべてのデータベースとロールがdevelopmentの最新データに置き換えられることを確認します。この操作は元に戻すことができないため、確定する前に、保持したい変更をすべて促進したことを確認してください。

ブランチはdevelopmentと完全に一致し、次のタスクの準備が整いました。
ベストプラクティス
- 一貫した命名を使用します。 開発者ブランチではdev/<name>パターンに従います。
- 定期的にリセットします。 ドリフトを回避するために、ブランチをdevelopmentと同期させます。
- Protect 本番運用: 保護されたブランチを使用して偶発的な変更を防止します