[firebase-br] Controle de versão dos objetos do Firebird

Marcio Toloi marcio.toloi em gmail.com
Seg Nov 16 14:45:06 -03 2015


Olá pessoal.

Este é meu primeiro post na lista, mas já acompanho vocês há alguns anos...

Alguém da lista por um acaso conhece uma maneira (ou ferramenta) para
controlar o histórico de alterações dos objetos do Firebird?

Por exemplo: Se eu altero uma Stored Procedure no banco, o novo
código-fonte dela (ddl) será atualizado na coluna *rdb$procedure_source* na
tabela *rdb$procedures*. Neste caso eu conseguiria através de uma trigger
armazenar as várias versões do código-fonte. Mas o que fazer quando
alteramos as colunas de uma tabela? Seria possível rastrear esta alteração?

Para ilustrar um pouco essa ideia: - Eu trabalho como Analista de Sistemas
aqui na empresa há 10 anos, e grande parte das minhas atividades é fazer
manutenções em objetos do banco. Nós aqui temos o hábito de registrar essas
alterações em forma de documentação de tarefas, e também salvamos o novo
código-fonte em um servidor SVN.

A empresa aqui trabalha com a mesma base de dados Firebird há mais de 16
anos. Desde então, esta base já passou pelo Interbase, depois migramos para
o Firebird 1.5, depois para o Firebird 2.1.... e estamos prestes a migrar
para o Firebird 2.5.

Ao longo de todos estes anos, inúmeras foram as alterações em procedures,
tables, triggers, etc (por pessoas diferentes). E seria muito interessante
que o Firebird registrasse para cada objeto da base algo como: "creation
date" e "last modification date", além do "Description" que já existe.

Para as tabelas, seria interessante que ele registrasse quando uma "foreign
key" foi criada ou dropada... quando que uma "primary key" foi criada...
etc.

Alguém já fez isso? Ou precisou fazer um controle parecido? :D


De maneira geral, estou tentando levantar aqui uma questão que acredito ser
de grande interesse da comunidade Firebird.

Alguns dados da nossa base:
- Tables (785)
- Procedures (676)
- Triggers (420)
- Tamanho: 16,2Gb


Grato pela atenção.

Marcio Toloi
marcio.toloi em gmail.com



Mais detalhes sobre a lista de discussão lista