Ramificando bancos de dados como código: um padrão de CI/CD para Lakebase, em produção na Glaspoort
Traduzido do original em inglês por IA. Ver em inglês
A Glaspoort implementou um padrão de CI/CD pronto para produção para o Lakebase que ramifica os ambientes de desenvolvimento e homologação diretamente da produção para evitar a armadilha de reinicialização a partir do pai ("reset-from-parent trap"). Essa arquitetura permite um fluxo de trabalho por PR onde ramificações descartáveis são testadas contra imagens de aplicativos em tempo real, tratando as migrações como a única fonte de verdade e utilizando um modelo de promoção focado em velocidade, apoiado por salvaguardas de revalidação de pilha.
* Como a Glaspoort projetou sua configuração de ramificação do Lakebase, com desenvolvimento e homologação ramificados diretamente da produção em vez de empilhados uns sobre os outros, para evitar a armadilha de reinicialização a partir do pai, onde a atualização de um ambiente desatualizado força você a excluir e reconstruir tudo abaixo dele. * O fluxo de CI/CD por PR: como cada pull request ganha sua própria ramificação limpa e descartável do Lakebase copiada da produção, como as migrações são executadas e testadas contra uma imagem de aplicativo em tempo real antes que qualquer coisa toque em um ambiente real, e por que as próprias migrações (não os bancos de dados) são tratadas como a única fonte de verdade. * O trade-off entre dois modelos de promoção: mesclar assim que o CI passar versus mesclar apenas após um PR ser totalmente promovido para homologação. O artigo explica por que a Glaspoort escolheu a abordagem focada em velocidade e as salvaguardas que adicionaram (revalidação de pilha e um pipeline de crise) para mantê-la segura.
