Pular para o conteúdo principal

ger ramos

info

Beta

O Lakebase Postgres (beta com escalonamento automático) é a próxima versão do Lakebase, disponível apenas para avaliação. Para cargas de trabalho de produção, utilize a versão de pré-visualização pública do Lakebase. Consulte a seção "Como escolher entre as versões" para entender qual versão é a mais adequada para você.

Criar e gerenciar ramificações de banco de dados para suportar diferentes fluxos de trabalho de desenvolvimento, cenários de teste e ambientes de produção. Os branches permitem trabalhar com ambientes de banco de dados isolados sem afetar a produção.

nota

Para saber mais sobre como funciona o ramificação de bancos de dados, incluindo relacionamentos pai-filho, armazenamento copy-on-write e estratégias de ramificação, consulte Ramificações de banco de dados. As seções a seguir abordam os procedimentos para criação e gerenciamento de filiais.

Visão geral da filial

Uma ramificação no Lakebase Postgres é um ambiente de banco de dados independente que compartilha armazenamento com sua ramificação pai por meio de cópia em gravação (copy-on-write). As agências permitem que você:

  • Criar ambientes isolados de desenvolvimento e teste
  • Teste as aplicações com conjuntos de dados realistas.
  • Implementar fluxo de trabalho de desenvolvimento de banco de dados

Criar uma ramificação

Ao criar uma filial, você pode escolher entre diversas opções, dependendo das suas necessidades específicas. Cada opção cria uma ramificação com diferentes características de dados e casos de uso.

Para criar uma ramificação:

  1. Acesse a página de ramificações do seu projeto no aplicativo Lakebase.

  2. Clique em Criar ramificação e configure as opções da sua ramificação:

    • Insira um nome descritivo para a filial.
    • Selecione o tipo de ramificação desejado (Dados atuais ou Dados anteriores)
    • Opcionalmente, defina um tempo de expiração para a exclusão automática marcando a opção Expirar ramo após e selecionando uma predefinição (1 hora, 1 dia ou 7 dias). Consulte a seção "Expiração da filial" para obter detalhes.
    • Configure quaisquer definições adicionais para a opção escolhida.
  3. Clique em Criar para criar a ramificação.

Diálogo de criação de ramificação

Opções de criação de ramificação

Escolha a opção que melhor se adapta ao seu caso de uso.

Opção

Descrição

Dados atuais

Cria uma ramificação a partir do estado mais recente da sua ramificação principal. Ideal para desenvolvimento, testes com dados atuais e ramificações de recursos.

Dados passados

Cria uma ramificação a partir de um ponto específico no tempo dentro da sua janela de restauração. Perfeito para recuperação pontual, análise histórica, cenários de reversão e consultas de viagem do tempo. Use o seletor de datas para escolher o momento desejado.

Expiração do ramo

O recurso de expiração de branches permite definir datas de exclusão automática para os branches. Quando um ramo atinge o tempo de expiração, ele é excluído automaticamente. Este recurso ajuda a gerenciar filiais temporárias e a reduzir os custos de armazenamento.

Por que usar a expiração de ramificação?

O recurso de expiração de ramificações é ideal para ramificações temporárias com duração previsível:

  • Ambientes CI/CD: Branches de teste que devem ser limpas após a conclusão do pipeline.
  • Desenvolvimento de recursos: ramificações de recursos com tempo definido e prazos conhecidos.
  • Testes automatizados: Ambientes de teste efêmeros criados por scripts.
  • Fluxo de trabalho de desenvolvimento: Ambientes temporários que não precisam persistir indefinidamente.

Sem expiração automática, esses ramos se acumulam ao longo do tempo, aumentando os custos de armazenamento e a desorganização dos projetos.

dica

Exemplo de prazo de validade: pipeline CI/CD (2 a 4 horas), demos (24 a 48 horas), desenvolvimento de recursos (1 a 7 dias), testes de longo prazo (30 dias).

Como funciona o vencimento de branches

O vencimento de branches utiliza um modelo de tempo de vida (TTL). Ao definir um prazo de expiração para uma ramificação, você está definindo por quanto tempo a ramificação deve existir antes de ser excluída automaticamente.

Ao definir um carimbo de data/hora de expiração em uma ramificação:

  1. O sistema armazena tanto o carimbo de data/hora de expiração (a data e hora programadas para a exclusão da ramificação) quanto o intervalo TTL (a duração entre a criação ou atualização e a expiração).
  2. Um processo em segundo plano monitora as ramificações e as exclui após o tempo de expiração ser atingido.
  3. Se você redefinir uma ramificação a partir de seu pai, a contagem regressiva do TTL será reiniciada usando o intervalo original.
important

A exclusão de um ramo é permanente e irreversível. Todos os dados e recursos compute associados também são excluídos. Verifique cuidadosamente os prazos de validade antes de configurá-los.

Definir expiração do ramo

Você pode definir um prazo de validade ao criar uma ramificação ou atualizá-lo posteriormente.

Ao criar uma ramificação

  1. Acesse a página de ramificações do seu projeto no aplicativo Lakebase.
  2. Clique em Criar ramificação , configure as opções da sua ramificação e marque a opção Expirar ramificação em para selecionar uma predefinição (1 hora, 1 dia ou 7 dias).
  3. Clique em Criar .

Atualização do vencimento do branch

Para atualizar ou remover um carimbo de data/hora de expiração em uma ramificação existente:

  1. Acesse a página de ramificações do seu projeto no aplicativo Lakebase.
  2. Clique no Ícone do menu Kebab. No menu ao lado da filial, selecione Atualizar expiração .
  3. Selecione uma nova data e hora ou desmarque a opção "Expirar ramo" para remover a expiração e clique em "Salvar" .

Atualização do vencimento do branch

ver expiração do ramo

Para verificar se uma ramificação possui uma data de expiração definida, acesse a página de Ramificações do seu projeto e clique na ramificação desejada. As informações sobre o prazo de validade são exibidas nos detalhes da filial.

Restrições de vencimento de filiais

Para manter a integridade do sistema, não é possível adicionar carimbos de data/hora de expiração a:

  • Ramos protegidos: Não é possível expirar ramos protegidos nem proteger ramos com expiração.
  • Ramos padrão: Não é possível expirar ramos default nem definir ramos expirados como default.
  • Ramos principais: Não é possível expirar ramos que possuem ramos filhos, nem criar ramos filhos a partir de ramos que estão expirando.
nota

Quando uma ramificação expira e é excluída, todos os recursos compute associados também são excluídos. Garanta que todas as cargas de trabalho críticas sejam migradas antes do vencimento.

Período máximo de validade

O prazo máximo de validade é de 30 dias a partir da data atual. Se você precisar que uma ramificação persista por mais de 30 dias, poderá atualizar o carimbo de data/hora de expiração antes que ela expire para estender seu tempo de vida.

ver ramos

Para view todas as ramificações do seu projeto Lakebase, selecione o projeto de banco de dados no aplicativo Lakebase e navegue até "Ramos" na navegação à esquerda.

A tabela de filiais exibe informações key sobre cada filial:

Tabela de ramos

A página de ramificações exibe uma tabela completa com informações sobre cada ramificação do seu projeto:

Coluna

Descrição

Ramo

O nome da filial. O ramo default exibe um rótulo "padrão".

Pai

Indica a ramificação pai a partir da qual esta ramificação foi criada, ajudando você a rastrear a hierarquia de ramificações.

Tempo ativo

Número de horas em que o compute da filial esteve ativo.

computeprimário

Mostra o tamanho e o status atuais compute (como parado ou ATIVO) do compute da ramificação.

Tamanho dos dados

Indica o tamanho lógico dos dados da ramificação. O tamanho dos dados não inclui história.

Criado por

O usuário ou serviço que criou a ramificação.

Última atividade

Mostra quando o compute da ramificação esteve ativo pela última vez.

Visão geral da filial

Clique em qualquer ramo da tabela para view a página de visão geral do ramo, que exibe informações detalhadas sobre o ramo selecionado:

Página de visão geral da filial

A página de visão geral da filial exibe informações detalhadas na parte superior, incluindo métricas e metadados key :

campo

Descrição

ID

O identificador único da filial (com o prefixo br-)

Criado em

A data e a hora em que a filial foi criada.

calcular horas

Total de horas compute utilizadas pela filial

Horário ativo

calcular horas utilizadas desde uma data específica

Tamanho dos dados

O tamanho lógico dos dados do ramo (não inclui o espaço em branco)

Criado por

O usuário que criou a ramificação

A página de visão geral da filial inclui várias abas para gerenciar diferentes aspectos da filial:

Tab

Descrição

calcular

Visualizar e gerenciar o compute principal da filial. Veja gerenciar computação.

Funções e Bancos de Dados

Gerenciar funções de banco de dados e bancos de dados associados à filial. Consulte gerenciar bancos de dados e gerenciar funções.

Ramos filhos

Veja quaisquer ramificações que foram criadas a partir desta ramificação.

Comparar esquemas de ramificação

Analise as diferenças de esquema entre um ramo filho e seu ramo pai antes de mesclar as alterações. A comparação de esquemas mostra uma comparação lado a lado do DDL SQL, destacando objetos de banco de dados adicionados, removidos ou modificados, como tabelas, colunas, índices e restrições.

Para comparar esquemas entre filiais:

  1. Acesse a página de visão geral de uma ramificação filha no aplicativo Lakebase.

  2. Na seção Ramificação principal , clique em Diferença de esquema .

  3. Na caixa de diálogo Diferença de Esquema:

    • Base : Selecione o ramo base para comparação (o padrão é o ramo pai).
    • Banco de dados : Selecione o banco de dados a ser comparado.
    • Comparar : Selecione a ramificação a ser comparada com a ramificação base (por padrão, a ramificação filha atual).
  4. Clique em Comparar .

Entenda os diferentes resultados

Quando os esquemas diferem, a view de diferenças exibe uma comparação lado a lado das instruções SQL DDL:

Diferenças de esquema mostrando as diferenças entre ramificações com alterações de DDL SQL codificadas por cores

As linhas vermelhas mostram o que foi removido ou alterado no ramo base, enquanto as linhas verdes mostram o que foi adicionado ou alterado no ramo de comparação. O diff captura as alterações nas definições de tabelas, colunas, restrições, índices e outros objetos do banco de dados.

Se não houver diferenças entre os ramos selecionados, você verá uma mensagem de sucesso confirmando que os esquemas estão sincronizados:

Comparação de esquemas mostrando que os esquemas estão sincronizados.

Utilize a comparação de esquemas para validação pré-merge , acompanhamento do desenvolvimento, detecção de desvios e documentação de alterações. Para ver a diferença de esquema em um fluxo de trabalho de desenvolvimento completo, consulte o tutorial: Fluxo de trabalho de desenvolvimento baseado em ramificação.

nota

A comparação de esquemas compara apenas o esquema do banco de dados (DDL), não o conteúdo dos dados. A comparação utiliza os dados mais recentes disponíveis (cabeçalho) de ambas as ramificações.

Reset ramo a partir do pai

Você pode redefinir uma ramificação para atualizá-la instantaneamente com o esquema e os dados mais recentes de sua ramificação pai. Isso ajuda você a se recuperar de problemas, iniciar o desenvolvimento de novos recursos ou manter as diferentes ramificações do seu ambiente sincronizadas.

Cenário de exemplo

Ao trabalhar com ramificações de banco de dados, você pode se deparar com uma situação em que precisa atualizar sua ramificação de trabalho com os dados mais recentes da sua ramificação de produção.

Por exemplo, digamos que você tenha dois ramos filhos staging e development bifurcados do seu ramo production . Você estava trabalhando no branch development e descobriu que ele agora está muito desatualizado em relação à produção.

Você não tem alterações de esquema em development para considerar ou preservar; você só quer uma refresh rápida dos dados. Você pode realizar uma redefinição limpa e instantânea para os dados mais recentes do servidor pai em uma única operação, evitando a complicação de criar e restaurar ramificações manualmente.

Como funciona Reset a partir do pai

Ao redefinir uma ramificação para seu pai, os dados e o esquema são completamente substituídos pelos dados e esquema mais recentes do pai.

Pontos principais:

  • Você só pode redefinir uma ramificação para os dados mais recentes de sua ramificação pai. É possível realizar um reset pontual baseado em um timestamp usando o recurso de restauração pontual, que é similar, mas com algumas diferenças: a restauração pontual cria um novo branch e é mais indicada para recuperação de dados do que para fluxo de trabalho de desenvolvimento.
  • Essa redefinição sobrescreve completamente os dados, não refresh nem merge. Quaisquer alterações locais feitas no ramo filho serão perdidas durante essa reinicialização.
  • As conexões existentes são interrompidas temporariamente durante a reinicialização. No entanto, os seus dados de conexão não se alteram. Todas as conexões são restabelecidas assim que a reinicialização é concluída.
  • Os branches raiz (como o branch production do seu projeto) não podem ser redefinidos porque não têm um branch pai para o qual redefinir.

Reset um ramo a partir de seu pai.

Para redefinir uma ramificação para seu pai:

  1. Acesse a página de ramificações do seu projeto no aplicativo Lakebase.
  2. Clique no Ícone do menu Kebab. No menu ao lado da ramificação que você deseja redefinir, selecione Reset do pai" .
  3. Confirme as operações de Reset.

Reinicialização do ramo a partir do pai

nota

Se o ramo tiver ramos filhos próprios, o Reset será bloqueado. Você precisa excluir os ramos filhos primeiro antes de poder redefinir o ramo pai.

Defina uma ramificação como default

Cada projeto Lakebase é criado com um branch default chamado production, mas você pode designar qualquer branch como default. O branch default está isento do limite compute ativa simultaneamente, garantindo que permaneça disponível o tempo todo.

Para definir uma ramificação como default:

  1. Acesse a página de ramificações do seu projeto no aplicativo Lakebase.
  2. Clique no Ícone do menu Kebab. menu ao lado da ramificação que você deseja definir como default.
  3. Selecione "Definir como default e confirme as operações.

Defina uma ramificação como protegida.

Os ramos protegidos ajudam a proteger ramos críticos do banco de dados contra modificações ou exclusões acidentais. Ramos protegidos não podem ser excluídos, redefinidos ou arquivados devido à inatividade. Projetos com ramificações protegidas e seus respectivos recursos computacionais também não podem ser excluídos.

Para definir uma ramificação como protegida:

  1. Acesse "Ramos" no aplicativo Lakebase e selecione o ramo que deseja proteger.
  2. Clique em Proteger e confirme sua seleção.

Proteger o ramo

Sua filial agora está designada como protegida, conforme indicado pelo ícone de escudo que aparece ao lado do nome da filial.

Para obter detalhes completos sobre ramificações protegidas, incluindo o gerenciamento de senhas para ramificações filhas, consulte Ramificações protegidas.

Excluir um ramo

important

Excluir uma ramificação é uma ação permanente que não pode ser desfeita. A exclusão de um ramo também remove:

  • Todos os bancos de dados que pertencem ao ramo
  • Todas as funções associadas à filial
  • O recurso compute associado à filial
  • Todos os dados e alterações específicos dessa ramificação.

Não é possível excluir uma ramificação que possua ramificações filhas. Os ramos filhos devem ser excluídos primeiro.

Para excluir uma ramificação:

  1. Acesse a página de ramificações do seu projeto no aplicativo Lakebase.
  2. Clique no Ícone do menu Kebab. No menu ao lado da ramificação que deseja excluir, selecione Excluir ramificação .
  3. Digite o nome da filial para confirmar a exclusão e clique em Excluir .