Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Saiba como utilizar ramos, como os do Git, proporcionando a cada desenvolvedor um ramo isolado para trabalho independente e, em seguida, resetando para manter a sincronia.
Pré-requisitos
- Um projeto do Lakebase com um
productionramo (o padrão) - Uma
developmentramificação criada a partir deproductionpara trabalho de desenvolvimento compartilhado - Familiaridade básica com SQL e Postgres
Configurar seu esquema inicial
Antes de criar seu branch de desenvolvedor, configure um esquema simples no branch de desenvolvimento. Isso serve como o ponto de partida compartilhado a partir do qual todos os desenvolvedores criarão suas bifurcações. Ao criar sua ramificação pessoal, ela herda instantaneamente esse esquema por meio de copy-on-write.
- Navegue até sua filial de desenvolvimento no aplicativo Lakebase.
- Abra o editor SQL.
- Crie uma tabela de usuários básicos 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 ramo de desenvolvimento
Cada desenvolvedor da sua equipe pode ter uma ramificação de longa duração para trabalhos em andamento. Redefina-o periodicamente para manter a sincronização com o pai.
Na lista de ramificações do projeto, selecione o branch de desenvolvimento e clique em Criar ramificação secundária. Insira um nome de branch (obrigatório), como dev/alex (seguindo o padrão dev/<your-name>) e clique em Criar.
A ramificação é criada instantaneamente e inclui todos os esquemas e dados do ambiente de desenvolvimento, utilizando a técnica de copy-on-write.
Sua hierarquia de ramificação:
production (root)
└── development (has users table + data)
└── dev/alex (instantly inherits users table + data)
Desenvolver seu recurso
Aponte sua aplicação para a sua branch de desenvolvimento atualizando a string de conexão no arquivo .env e depois desenvolva a funcionalidade utilizando seu fluxo de trabalho habitual.
Por exemplo, adicionar o controle de preferência do usuário ao seu aplicativo envolveria atualizar seu modelo de usuário, gerar uma migração com sua estrutura (Prisma, Alembic, Django etc.) e executá-la em seu dev/alex branch. Seu arquivo de migração pode conter:
ALTER TABLE users ADD COLUMN preferences JSONB DEFAULT '{}';
CREATE INDEX idx_users_preferences ON users USING GIN (preferences);
Depois de executar a migração, desenvolva o recurso de preferência no código do aplicativo e teste o fluxo completo localmente. Seu branch está completamente isolado. As alterações não afetam a produção nem outros desenvolvedores.
Examinar as alterações
Antes de promover para outros ambientes, use o schema diff para verificar exatamente o que mudou. Vá para a visão geral da sua ramificação dev/alex, clique em Diferenciação de esquema e compare com development.
A comparação lado a lado mostra sua nova preferences coluna e índice em verde:
Essa etapa de verificação ajuda a capturar alterações não intencionais antes que elas cheguem à produção. Para a documentação completa de diferenças de esquema, consulte Comparar esquemas de ramificação.
Promover suas alterações
A promoção não é automática. Para promover suas alterações, execute na sua ramificação development a mesma migração que você já executou em dev/alex. Não há nenhuma etapa específica do Lakebase envolvida. O arquivo de migração já está na base de código, portanto, isso segue o processo normal de implantação.
- Atualize sua cadeia de caracteres de conexão para apontar para a sua ramificação
development. - Execute sua migração contra
developmentusando o mesmo comando que você usou emdev/alex. - Implante o código do aplicativo atualizado.
Como a migração já foi validada na sua ramificação pessoal, ela deve ser aplicada sem problemas. Após a promoção, outros desenvolvedores verão o esquema atualizado ao redefinirem suas ramificações em development.
Reiniciar e começar de novo
Quando você estiver pronto para iniciar novas tarefas, redefina seu branch pessoal para manter-se sincronizado com development, que pode ter recebido alterações de outros desenvolvedores. Isso oferece um novo início a partir da linha de base compartilhada atual.
Navegue até a sua ramificaçãodev/alex e clique em Redefinir com base no pai. O modal de redefinição confirma que todos os bancos de dados e funções serão substituídos pelos dados mais recentes de development. Essa ação não é reversível, portanto, verifique se você promoveu todas as alterações que deseja manter antes de confirmar.
Sua ramificação agora corresponde development exatamente, pronta para sua próxima tarefa.
Práticas recomendadas
-
Utilize nomenclatura consistente: Siga o padrão
dev/<name>para ramos de desenvolvedor. -
Redefinir regularmente: mantenha sua ramificação em sincronia com
developmentpara evitar descompasso. - Proteger a produção: use ramificações protegidas para evitar alterações acidentais