Handleiding: Ontwikkelworkflow met vertakkingen

Belangrijk

Lakebase Autoscaling is de nieuwste versie van Lakebase, met automatisch schalen van rekenkracht, schaal-tot-nul, branching-functionaliteit en direct herstellen. Zie Beschikbaarheid van regio's voor ondersteunde regio's. Als u een door Lakebase ingericht gebruiker bent, raadpleegt u Lakebase Ingericht.

Meer informatie over het gebruik van vertakkingen zoals Git-vertakkingen, waardoor elke ontwikkelaar een geïsoleerde vertakking voor onafhankelijk werk krijgt en vervolgens opnieuw kunt instellen om gesynchroniseerd te blijven.

Vereiste voorwaarden

  • Een Lakebase-project met een production vertakking (de standaardinstelling)
  • Een development tak die is gemaakt van production voor gedeelde ontwikkelwerkzaamheden
  • Basiskennis van SQL en Postgres

Stel uw beginschema in

Voordat u uw ontwikkelaarsbranch maakt, stelt u een eenvoudig schema in voor de ontwikkelingsbranch. Dit fungeert als het gedeelde uitgangspunt waaruit alle ontwikkelaars zullen forken. Wanneer u uw persoonlijke branch maakt, erft het direct dit schema via copy-on-write.

  1. Navigeer naar uw ontwikkeltak in de Lakebase gebruikersinterface.
  2. Openen de SQL-editor.
  3. Maak een eenvoudige gebruikerstabel met voorbeeldgegevens:
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');

Uw ontwikkelaarsbranch maken

Elke ontwikkelaar in uw team kan een langdurige branch hebben voor doorlopend werk. Stel het regelmatig opnieuw in om gesynchroniseerd te blijven met de bovenliggende component.

Selecteer in de vertakkingslijst van uw project de ontwikkelingsbranch en klik vervolgens op Onderliggende vertakking maken. Voer een vertakkingsnaam (vereist) in, zoals dev/alex (volgens het patroon dev/<your-name>) en klik op Maken.

De branch wordt direct gemaakt en bevat alle schema's en gegevens van ontwikkeling door middel van copy-on-write.

Uw vertakkingshiërarchie:

production (root)
  └── development (has users table + data)
        └── dev/alex (instantly inherits users table + data)

Uw functie ontwikkelen

Wijs uw toepassing aan bij uw ontwikkelbranch door de verbindingsreeks in uw .env bestand bij te werken en ontwikkel vervolgens uw functie met behulp van uw normale werkstroom.

Als u bijvoorbeeld het bijhouden van gebruikersvoorkeuren aan uw toepassing toevoegt, moet u uw gebruikersmodel bijwerken, een migratie genereren met uw framework (Prisma, Alembic, Django, enzovoort) en deze uitvoeren op uw dev/alex vertakking. Het migratiebestand kan het volgende bevatten:

ALTER TABLE users ADD COLUMN preferences JSONB DEFAULT '{}';
CREATE INDEX idx_users_preferences ON users USING GIN (preferences);

Nadat u de migratie hebt uitgevoerd, ontwikkelt u de voorkeursfunctie in uw toepassingscode en test u de volledige stroom lokaal. Uw branch is volledig geïsoleerd. Wijzigingen zijn niet van invloed op productie of andere ontwikkelaars.

Controleer uw wijzigingen

Voordat u naar andere omgevingen promoveert, gebruikt u schema-diff om te controleren wat er precies is gewijzigd. Navigeer naar uw dev/alex vertakkingsoverzicht, klik op Schemaverschil en vergelijk met development.

In de vergelijking naast elkaar ziet u de nieuwe preferences kolom en index groen:

Schemaverschil met de voorkeurenkolom en -index die zijn toegevoegd aan dev/alex branch

Deze verificatiestap helpt onbedoelde wijzigingen te ondervangen voordat ze productie bereiken. Zie Vertakkingsschema's vergelijken voor de volledige documentatie over schemaverschillen.

Uw wijzigingen promoveren

Promotie is niet automatisch. Als u uw wijzigingen wilt toepassen, voert u dezelfde migratie uit op uw development branch, die u al op dev/alex hebt uitgevoerd. Er is geen specifieke stap voor Lakebase betrokken. Uw migratiebestand bevindt zich al in uw codebasis, dus dit volgt uw normale implementatieproces.

  1. Werk de verbindingsreeks bij zodat deze verwijst naar uw development vertakking.
  2. Voer uw migratie uit development met behulp van dezelfde opdracht die u hebt gebruikt voor dev/alex.
  3. Implementeer de bijgewerkte toepassingscode.

Omdat de migratie al is gevalideerd in uw persoonlijke vertakking, moet deze correct worden toegepast. Nadat ze zijn gepromoveerd, zien andere ontwikkelaars het bijgewerkte schema wanneer ze hun vertakkingen opnieuw instellen.development

Opnieuw instellen en opnieuw beginnen

Wanneer je klaar bent om nieuw werk te beginnen, reset je je persoonlijke branch om gesynchroniseerd te blijven met development, dat mogelijk wijzigingen van andere ontwikkelaars heeft ondergaan. Dit geeft u een nieuwe start vanaf de huidige gedeelde basislijn.

Navigeer naar uw dev/alex branch en klik op Herstel vanaf bovenliggende. De resetmodal bevestigt dat alle databases en rollen vervangen zullen worden door de nieuwste gegevens van development. Deze actie is niet omkeerbaar. Zorg er dus voor dat u wijzigingen hebt gepromoveerd die u wilt behouden voordat u dit bevestigt.

Bevestiging van gegevens opnieuw instellen modaal

Uw vertakking komt nu precies overeen met development, klaar voor uw volgende taak.

Beste praktijken

  • Gebruik consistente naamgeving: Volg het dev/<name> patroon voor ontwikkelaarsbranches.
  • Regelmatig opnieuw instellen: Houd uw vertakking gesynchroniseerd met development om drift te voorkomen.
  • Productie beveiligen: Gebruik beveiligde takken om onbedoelde wijzigingen te voorkomen