Tutoriel : Workflow de développement basé sur les Branch
Découvrez comment utiliser des Branches comme les Branches Git, donnant à chaque développeur une Branch isolée pour un travail indépendant, puis Reset pour rester synchronisé.
Prérequis
- Un projet Lakebase avec une
productionBranch (le default) - Une Branch
developmentcréée à partir deproductionpour le travail de développement partagé - Une familiarité de base avec SQL et Postgres
Configurez votre schéma de départ
Avant de créer votre Branch de développeur, configurez un schéma simple sur la Branch de développement. Ceci sert de point de départ partagé à partir duquel tous les développeurs dériveront. Lorsque vous créez votre personnelle Branch, elle hérite instantanément de ce schéma par copie sur écriture.
- Accédez à votre branch development dans l'interface utilisateur Lakebase.
- Ouvrez l'éditeur SQL.
- Créer une table d'utilisateurs de base avec des exemples de données :
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');
Créer votre Branch de développeur
Chaque développeur de votre équipe peut avoir une Branch de longue durée pour le travail en cours. Reset-le périodiquement pour rester synchronisé avec le parent.
Dans la liste des Branch de votre projet, sélectionnez la Branch **development**, puis cliquez sur **Créer une Branch enfant**. Saisissez un nom de Branch (obligatoire) tel que dev/alex (suivant le dev/<your-name> modèle), puis cliquez sur **Créer**.
La Branch est créée instantanément et inclut tous les schémas et données du développement via la copy-on-write.
Votre hiérarchie de Branch :
production (root)
└── development (has users table + data)
└── dev/alex (instantly inherits users table + data)
Développer votre fonctionnalité
Pointez votre application vers votre Branch de développement en mettant à jour la chaîne de connexion dans votre fichier .env, puis développez votre fonctionnalité en utilisant votre flux de travail normal.
Par exemple, l’ajout du suivi des préférences utilisateur à votre application impliquerait la mise à jour de votre modèle utilisateur, la génération d’une migration avec votre framework (Prisma, Alembic, Django, etc.) et son exécution sur votre branch dev/alex. Votre fichier de migration peut contenir :
ALTER TABLE users ADD COLUMN preferences JSONB DEFAULT '{}';
CREATE INDEX idx_users_preferences ON users USING GIN (preferences);
Après avoir exécuté la migration, développez la fonctionnalité de préférence dans le code de votre application et testez le flux complet localement. Votre Branch est complètement isolée. Les modifications n'affectent pas la production ni les autres développeurs.
Examen de vos modifications
Avant de promouvoir vers d'autres environnements, utilisez la diff de schéma pour vérifier exactement ce qui a changé. Accédez à l'aperçu de votre branch dev/alex, cliquez sur Différence de schéma , et comparez-le à development.
La comparaison côte à côte montre votre nouvelle colonne preferences et votre nouvel index en vert :

Cette étape de vérification permet de détecter les modifications involontaires avant qu'elles n'atteignent la production. Pour une documentation complète sur les différences de schémas, consultez Comparez les schémas de Branch.
Promouvez vos modifications
La promotion n'est pas automatique. Pour promouvoir vos modifications, exécutez la même migration sur votre Branch development que celle que vous avez déjà exécutée sur dev/alex. Aucune étape spécifique à Lakebase n'est impliquée. Votre fichier de migration est déjà dans votre base de code, il suit donc votre processus de déploiement normal.
- Mettez à jour votre chaîne de connexion pour qu’elle pointe vers votre Branch
development. - Exécutez votre migration sur
developmenten utilisant la même commande que celle que vous avez utilisée surdev/alex. - Déployez votre code d'application mis à jour.
Étant donné que la migration a déjà été validée sur votre Branch personnelle, elle devrait s'appliquer sans problème. Une fois promus, les autres développeurs verront le schéma mis à jour lorsqu'ils Reset leurs Branch à partir de development.
Reset et start à zéro
Lorsque vous êtes prêt à start un nouveau travail, Reset votre Branch personnelle pour rester synchronisé avec development, qui a pu subir des modifications de la part d'autres développeurs. Cela vous donne un nouveau start à partir de la base de référence partagée actuelle.
Naviguez vers votre dev/alex branch et cliquez sur Reset depuis le parent . La modale de reset confirme que toutes les bases de données et tous les rôles seront remplacés par les dernières données de development. Cette action est irréversible, assurez-vous donc d'avoir promu toutes les modifications que vous souhaitez conserver avant de confirmer.

Votre Branch correspond maintenant exactement à development, prête pour votre prochaine tâche.
Bonnes pratiques
- Utilisez une nomenclature cohérente : suivez le modèle
dev/<name>pour les Branch. - Reset regularly: Keep your Branch in sync with
developmentto avoid drift. - **Protéger la production** : utilisez les Branch protégées pour éviter les modifications accidentelles.