Important
Lakebase 自動スケールは、ベータで、eastus2、westeurope、westusの各リージョンで利用可能です。
Lakebase 自動スケーリングは、自動スケール コンピューティング、ゼロへのスケーリング、分岐、インスタント リストアを備えた最新バージョンの Lakebase です。 Lakebase Provisioned との機能の比較については、バージョンの選択を参照してください。
Git ブランチなどのブランチを使用し、各開発者に独立した作業用の分離されたブランチを提供し、リセットして同期を維持する方法について説明します。
[前提条件]
-
productionブランチを持つ Lakebase プロジェクト (既定) - 共有開発作業のために
developmentから作成されたproductionブランチ - 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);
移行を実行した後、アプリケーション コードで基本設定機能を開発し、完全なフローをローカルでテストします。 ブランチは完全に分離されており、変更は運用環境やその他の開発者には影響しません。
変更内容をレビューします。
他の環境に移行する前に、スキーマ差分を使用して、変更された内容を正確に特定します。
dev/alex ブランチの概要に移動し、[スキーマの相違] をクリックして、developmentと比較します。
横並びの比較では、新しい preferences 列とインデックスが緑色で表示されます。
この検証手順は、運用環境に到達する前に意図しない変更をキャッチするのに役立ちます。 スキーマの相違に関する完全なドキュメントについては、「 ブランチ スキーマの比較」を参照してください。
変更を公開する
変更に自信がある場合は、それをアップストリームブランチにプッシュします。
dev/alexで検証したのと同じスキーマ変更を development ブランチに適用し、アプリケーション コードをデプロイします。 このワークフローにより、共有環境に到達する前に、スキーマの変更が分離してテストされます。
リセットして新たに開始する
新しい作業を開始する準備ができたら、個人用ブランチをリセットして developmentとの同期を維持します。これは、他の開発者からの変更があった可能性があります。 これにより、現在の共有ベースラインから新たに開始できます。
dev/alexブランチに移動し、[親からリセット] をクリックします。 リセット モーダルでは、すべてのデータベースとロールが、 developmentの最新のデータに置き換えられます。 このアクションは元に戻すことができません。そのため、確認する前に、保持する変更が確定されていることを確認してください。
これで、ブランチは development と完全に一致し、次のタスクの準備が整いました。
ベスト プラクティス
-
一貫性のある名前付けを使用します。 開発者ブランチの
dev/<name>パターンに従います。 -
定期的にリセットする: 分岐を
developmentと同期してドリフトを回避します。 - 運用環境を保護する:保護されたブランチを使用して偶発的な変更を防ぐ