[firebase-br] Versionamento de Banco - GitHub

Gladiston Santana gladiston em vidy.com.br
Quinta Fevereiro 4 14:56:18 -03 2021


Olá Marcos,

Há muito tempo eu tenho feito scripts gradativos que testam a existencia
dos objetos e na falta deles os cria e segue uma certa ordem domains,
tables, alter tables, indices, constraints,...., procedures, triggers...
enfim entendeu né. Esses scripts rodam desde a inauguração na base até
torná-la a versão vigente.

Estes scripts voce pode versionar com git, mas recomendaria um repositório
central com a opção 'bare' para que todos possam ter a mesma versão de
referência.  Ter alguém que conheça bem o banco de dados e possivelmente
centralizar as coisas nele pode ser muito bom porque dá medo de pessoas mal
disciplinadas subirem 'lixo' não testado para este repositório de onde
outros sincronizarão.

Aqui eu criei um programa de atualização que vai aplicando estes scripts do
zero até o fim, se nenhum falhar então a tá pronto para ser enviado e
compartilhado.
Quando tenho que atualizar a produção segue o mesmo princípio, rodo os
scripts na sequência desde o script que fez a fundação da base até as
últimas atualizações. Apenas há um .exe que automatiza isso para não
fazê-lo manualmente. Estes programas foram feitos com o Delphi, mas estou
estudando fazê-los em node.js, o qual estou aprendendo, eu tô perdendo
tempo em escrever UI para coisas banais que servem para automatizar.

Hoje tem ferramentas bem melhores que te ajudam a criar um script com a
diferença do banco A para o banco B, mas pessoalmente acho que se vc cuidar
disso internamente desde o inicio do desenvolvimento nunca precisará de
ferramentas assim.


Em qui., 4 de fev. de 2021 às 10:05, Marcos R. Weimer via lista <
lista em firebase.com.br> escreveu:

> Ola!
>
> A alguns anos estamos versionando o banco na mão (salvando procedures,
> montando scripts...) mas temos um banco grande (muitas tabelas, procedures,
> triggers, views...)
>
> Então venho perguntar o que estão usando para controlar/versionar o banco
> (procedures, triggers e afins), se alguem tiver alguma ferramenta ou algo
> do tipo  integrado ao github seria excelente.
>
>


Mais detalhes sobre a lista de discussão lista