Limpando o BD: marcando e excluindo objetos que não são mais utilizados pela aplicação
Acompanhei um projeto de reestruturação de uma aplicação ERP. Ela começou a ser desenvolvida lá pelos anos 2000, utilizando o SQL Server 7.0, e veio sendo atualizada até o 2016.
O processo de reestruturação começou em 2018.
Muitos processos deixaram de existir, muitas telas foram descartadas, mas o maior problema era o que e como mexer no BD, para continuar trabalhando com a aplicação enquanto partes de suas rotinas eram modificadas.
A única forma de visualizar esta situação é encarar o BD e a aplicação como o monstro de Frankenstein! Vários pedaços diferentes, costurados para funcionarem como um só!
Não é nada fácil.
Para cada fase do projeto, tivemos mudanças em tabelas, colunas, índices, views, procedures... Você já entendeu, né? Todos os tipos de objetos do BD sofreram modificações.
Para garantir a integridade dos dados em cada fase, definimos que qualquer objeto que perdesse a utilidade para a aplicação seria renomeado para nomeobjeto_aaaammdd_exc. Esta nomenclatura indicava que o objeto fora marcado para exclusão na data informada.
Com o projeto chegando a 90%, chegou a hora de limpar o banco de dados, excluindo todos os objetos marcados.
Para facilitar esse trabalho, eu montei um script que criava os comandos de DROP para cada tipo de objeto.
Assim, ficou bem mais fácil excluir os objetos fora de uso.
留言