Skip to main content

Alteração da Estrutura de Banco de Dados

Exclusão de Campos ou Tabelas

Quando um campo ou tabela deixar de ser utilizado, ele não deve ser removido da unit de criação e não deve ser executado nenhum comando SQL de exclusão (DROP).

A estrutura deve permanecer intacta no banco de dados, mesmo sem utilização pelo sistema.


Escolha da Unit para Criação de Tabelas

A unit utilizada para a criação de uma tabela é definida pelo seu escopo de uso:

  • CriaTabEsp.pas: Utilizada para tabelas específicas de um único módulo.
  • CriaTab.pas: Utilizada para tabelas compartilhadas entre dois ou mais módulos do sistema.

Atualização e Versionamento de Tabelas

Cenário A: Tabelas de Módulo Único (CriaTabEsp.pas)

Ao criar ou modificar uma tabela de módulo único, é obrigatório registrar a alteração na unit uMatrizAlt__.pas correspondente ao módulo modificado, chamando o método de atualização com o número da versão do módulo.

  • Exemplo Prático (Módulo de Compras - CC): Se uma nova coluna for adicionada a uma tabela exclusiva de Compras, você deve acessar a unit uMatrizAltCC.pas e incluir a chamada:
AddMatrizAlt('PLANFISC', '5.194');

Cenário B: Tabelas Compartilhadas (CriaTab.pas)

Quando uma tabela compartilhada for criada ou modificada, o desenvolvedor deve identificar todos os módulos afetados e replicar a chamada de atualização em todas as units uMatrizAlt__.pas desses respectivos módulos.

Como identificar os módulos afetados:
  1. Acesse a unit DDL.Classes.pas.
  2. Verifique, dentro das procedures CriaMatrizSistemas__, quais delas fazem uso dessa tabela. Você encontrará uma estrutura semelhante a esta:
AddTabela(AMatriz, 'PLANFISC', 'Plano Fiscal');
  1. Para cada módulo identificado, adicione a chamada AddMatrizAlt com o número da versão do módulo na sua respectiva unit de alteração.
  • Exemplo Prático: Você adicionou um novo campo na tabela PLANFISC (alterando a CriaTab.pas). Ao buscar por PLANFISC na unit DDL.Classes.pas, você identificou que ela é utilizada pelas seguintes procedures:
    • CriaMatrizSistemasCC (Módulo CC)
    • CriaMatrizSistemasEX (Módulo EX)
    • CriaMatrizSistemasVD (Módulo VD)

    Portanto, você deverá abrir as units uMatrizAltCC.pas, uMatrizAltEX.pas e uMatrizAltVD.pas e adicionar a chamada de atualização em cada uma delas:

    AddMatrizAlt('PLANFISC', '5.194');

    Atenção: cada módulo possui um número de versão diferente. Caso tenha dúvidas, consulte o guia de como identificar o número da versão de cada módulo.