Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
O Autoscaling do Lakebase é a versão mais recente do Lakebase, com computação autoescalável, escala até zero, ramificação e restauração instantânea. Para regiões suportadas, consulte Disponibilidade de Regiões. Se é utilizador do Lakebase Provisioned, consulte Lakebase Provisioned.
Aprende a usar ramos como os ramos do Git, fornecendo a cada programador um ramo isolado para poderem trabalhar de forma independente, então reiniciando para manter a sincronização.
Pré-requisitos
- Um projeto Lakebase com uma
productionramificação (o padrão) - Um
developmentramo criado a partir deproductionpara trabalho de desenvolvimento partilhado - Familiaridade básica com SQL e Postgres
Configura o teu esquema inicial
Antes de criar o seu ramo de desenvolvimento, configure um esquema simples no ramo de desenvolvimento. Isto serve como o ponto de partida partilhado a partir do qual todos os programadores irão criar ramificações. Quando crias o teu branch pessoal, ele herda instantaneamente este esquema através do copy-on-write.
- Navegue até ao seu ramo de desenvolvimento na interface do Lakebase.
- Abra o Editor SQL.
- Crie uma tabela básica de utilizadores com dados de exemplo:
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');
Crie o seu ramo de programador
Cada programador da sua equipa pode ter um ramo duradouro para trabalho contínuo. Reinicia-o periodicamente para se manter sincronizado com o pai.
Na lista de ramos do seu projeto, selecione o ramo de desenvolvimento e depois clique em Criar ramo filho. Introduza um nome de ramo (obrigatório), como dev/alex (seguindo o padrão dev/<your-name>) e clique em Criar.
O branch é criado instantaneamente e inclui todos os esquemas e dados de desenvolvimento através do processo de copy-on-write.
A sua hierarquia de ramos:
production (root)
└── development (has users table + data)
└── dev/alex (instantly inherits users table + data)
Desenvolva a sua funcionalidade
Aponte a sua aplicação para o ramo de desenvolvimento atualizando a cadeia de ligação no ficheiro .env , depois desenvolva a sua funcionalidade usando o seu fluxo de trabalho normal.
Por exemplo, adicionar rastreamento de preferências de utilizador à sua aplicação implicaria atualizar o seu modelo de utilizador, gerar uma migração com o seu framework (Prisma, Alembic, Django, etc.) e executá-lo no seu dev/alex branch. O seu ficheiro de migração pode conter:
ALTER TABLE users ADD COLUMN preferences JSONB DEFAULT '{}';
CREATE INDEX idx_users_preferences ON users USING GIN (preferences);
Após executar a migração, desenvolva a funcionalidade de preferências no código da sua aplicação e teste o fluxo completo localmente. A sua filial está completamente isolada. As mudanças não afetam a produção nem outros programadores.
Reveja as suas alterações
Antes de promoveres para outros ambientes, usa o diferencial de esquema para verificar exatamente o que mudou. Navegue até à sua dev/alex visão geral do ramo, clique em Esquema diferencial e compare com development.
A comparação lado a lado mostra a sua nova preferences coluna e índice em verde:
Esta etapa de verificação ajuda a detetar alterações não intencionais antes de chegarem à produção. Para documentação completa das diferenças de esquemas, consulte Comparar esquemas de ramificações.
Promova as suas mudanças
A promoção não é automática. Para promover as suas alterações, execute a mesma migração no seu branch development que já executou no dev/alex. Não há nenhum passo específico de Lakebase envolvido. O teu ficheiro de migração já está na tua base de código, por isso isto segue o teu processo normal de implementação.
- Atualiza a tua string de ligação para apontar para o teu
developmentramo. - Executa a tua migração contra
developmentusando o mesmo comando que usaste emdev/alex. - Implemente o código da sua aplicação atualizado.
Como a migração já foi validada no seu ramo pessoal, deverá aplicar-se sem problemas. Uma vez promovidos, outros programadores verão o esquema atualizado quando reiniciarem as suas ramificações a partir de development.
Reiniciar e começar do zero
Quando estiveres pronto para começar um novo trabalho, reinicia o teu branch pessoal para te manteres sincronizado com development, que pode ter tido alterações de outros programadores. Isto dá-lhe um novo começo a partir da atual linha de base partilhada.
Navegue até à sua dev/alex filial e clique em Restaurar a partir do pai. O modal de reset confirma que todas as bases de dados e funções serão substituídas pelos dados mais recentes de development. Esta ação não é reversível, por isso certifique-se de que promoveu todas as alterações que pretende manter antes de confirmar.
O teu ramo agora corresponde development exatamente, pronto para a próxima tarefa.
Melhores práticas
- Use nomes consistentes: Siga o padrão para as ramificações de desenvolvedores.
-
Reiniciar regularmente: Mantém o ramo sincronizado
developmentpara evitar desvios. - Proteger a produção: Use ramos protegidos para evitar alterações acidentais