Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
La scalabilità automatica di Lakebase si trova in Beta nelle aree seguenti: eastus2, westeurope, westus.
Lakebase Autoscaling è la versione più recente di Lakebase con calcolo autoscalante, riduzione a zero, ramificazione e ripristino istantaneo. Per il confronto delle funzionalità con Lakebase Provisioned, vedere scegliere tra le versioni.
Informazioni su come usare rami come i rami Git, assegnando a ogni sviluppatore un ramo isolato per il lavoro indipendente, quindi reimpostando la sincronizzazione.
Prerequisiti
- Un progetto Lakebase con un
productionramo (impostazione predefinita) - Un
developmentramo creato daproductionper il lavoro di sviluppo condiviso - Conoscenza di base di SQL e Postgres
Configurare lo schema iniziale
Prima di creare il ramo per sviluppatori, configurare uno schema semplice nel ramo di sviluppo. Questo funge da punto di partenza condiviso da cui tutti gli sviluppatori eseguiranno il fork. Quando crei il tuo ramo personale, eredita immediatamente questo schema tramite copy-on-write.
- Passare al ramo di sviluppo nell'interfaccia utente di Lakebase.
- Aprire l'editor SQL.
- Creare una tabella utenti di base con dati di esempio:
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');
Creare il ramo per sviluppatori
Ogni sviluppatore del team può avere un ramo di lunga durata per il lavoro in corso. Reimpostarlo periodicamente per rimanere sincronizzato con l'elemento padre.
Nell'elenco dei rami del progetto selezionare il ramo di sviluppo e quindi fare clic su Crea ramo figlio. Immettere un nome di ramo (obbligatorio), ad esempio dev/alex (seguendo il modello dev/<your-name>) e fare clic su Crea.
Il ramo viene creato istantaneamente e include tutti gli schemi e i dati dello sviluppo tramite copy-on-write.
Gerarchia dei rami:
production (root)
└── development (has users table + data)
└── dev/alex (instantly inherits users table + data)
Sviluppare la funzionalità
Punta l'applicazione al ramo di sviluppo aggiornando la stringa di connessione nel .env file, quindi sviluppa la funzionalità usando il normale processo.
Ad esempio, l'aggiunta del rilevamento delle preferenze utente all'applicazione comporta l'aggiornamento del modello utente, la generazione di una migrazione con il framework (Prisma, Alembic, Django e così via) e l'esecuzione nel dev/alex ramo. Il file di migrazione potrebbe contenere:
ALTER TABLE users ADD COLUMN preferences JSONB DEFAULT '{}';
CREATE INDEX idx_users_preferences ON users USING GIN (preferences);
Dopo aver eseguito la migrazione, sviluppare la funzionalità preferenza nel codice dell'applicazione e testare il flusso completo in locale. Il ramo è completamente isolato. Le modifiche non influiscono sulla produzione o su altri sviluppatori.
Esaminare le modifiche
Prima di passare ad altri ambienti, usare il diff dello schema per verificare esattamente cosa è cambiato. Passare alla panoramica del dev/alex ramo, fare clic su Differenza schema e confrontare con development.
Il confronto affiancato mostra la nuova preferences colonna e l'indice in verde:
Questo passaggio di verifica consente di intercettare le modifiche impreviste prima di raggiungere l'ambiente di produzione. Per la documentazione completa delle differenze dello schema, vedere Confrontare gli schemi dei rami.
Promuovi le tue modifiche
Quando si è certi delle modifiche, promuoverle ai rami di origine. Applicare le stesse modifiche dello schema convalidate nel dev/alex al ramo development, quindi distribuire il codice dell'applicazione. Questo flusso di lavoro garantisce che le modifiche dello schema vengano testate in isolamento prima di raggiungere gli ambienti condivisi.
Reimpostazione e nuovo inizio
Quando sei pronto per iniziare un nuovo lavoro, reimposta il tuo ramo personale per rimanere sincronizzato con development, che potrebbe esser stato modificato da altri sviluppatori. In questo modo è possibile iniziare dalla baseline condivisa corrente.
Passare al branch dev/alex e fare clic su Reimposta a partire dall'origine. La finestra modale di reimpostazione conferma che tutti i database e i ruoli verranno sostituiti con i dati più recenti provenienti da development. Questa azione non è reversibile, quindi assicurati di aver promosso le modifiche che si desidera mantenere prima di confermare.
Il tuo ramo ora corrisponde esattamente a development, pronto per il tuo prossimo compito.
Procedure consigliate
-
Usare una denominazione coerente: Seguire lo
dev/<name>schema per i rami di sviluppo. -
Reimpostare regolarmente: Mantenere il ramo sincronizzato con
developmentper evitare deviazioni. - Proteggere la produzione: Usare rami protetti per evitare modifiche accidentali