Ir para o conteúdo principal

[SPIKE][BAYMAX] - Utilização do OpenDBDiff para comparação de estruturas e bases de dados

image-1653281748453.png

Data de elaboração 17/05/2022
Responsável pelo estudo Denizard Dimitri Camargo
Equipe do estudo CAGD -  Coordenadoria de Análise e Gestão de Dados
Alvo desenvolvedores da CODE
Origem

o que originou o estudo?

  • Objetivo estratégico: fazer repasse para os desenvolvedores de como funciona o OpenDBDiff.
  • Implementação: usa-se nas bases de dados.
  • Melhoria: melhorar a forma que é feita as replicações estruturais entre bases de dados.
Objetivo Apresentar a utilização do OpenDBDiff para comparar estrutura de banco de dados, assim como os dados das tabelas.
Documentação correlata
  • https://github.com/OpenDBDiff/OpenDBDiff/releases/tag/0.13.0
Observações Demanda criada no PIPEFY:  CARD ID 531128692

Glossário de Termos

CLR - Common Language Runtime, é o componente de máquina virtual da plataforma .NET da Microsoft que gerencia a execução de programas .NET.

OpenDBDiff - ferramenta de comparação de banco de dados para Microsoft SQL Server

XML - Extensible Markup Language, ou seja, é uma linguagem de marcação que define um conjunto de regras para codificação de documentos.

DDL - Data Definition Language, é um conjunto de comandos dentro da SQL usada para a definição das estruturas de dados.
 

INTRODUÇÃO

Estudo visa apresentar a utilização do OpenDBDiff para comparar estrutura de banco de dados, assim como os dados das tabelas.

DESENVOLVIMENTO - Utilização do OpenDBDiff para comparação de estruturas e bases de dados

JUSTIFICATIVA

Criar boas práticas de replicação de estrutura de banco de dados

ENVOLVIDOS

Desenvolvimento do Estudo:

  • Denizard Dimitri Camargo - Assessor 

Product Owner:

  • Pedro Henrique de Andrade Gomes

Coordenador de Análise e Gestão de Dados:

  • Abdenildo Deividy Sobreira dos Santos 


O que é o OpenDBDiff?

Uma ferramenta de comparação de banco de dados para Microsoft SQL Server 2005+ que relata diferenças de esquema e cria um script de sincronização.

image-1653282008152.png

image-1653282019703.png


Como funciona?

Open DBDiff pode sincronizar e comparar os seguintes componentes de um banco de dados:

  • Tabelas (incluindo Opções de Tabela como vardecimal, texto em linha, etc.)
  • Colunas (incluindo Colunas Calculadas, opções XML, Identidades, etc.)
  • Restrições
  • Índices (e índices XML)
  • Esquemas XML
  • Tipos de tabela
  • Tipos de dados do usuário (UDT)
  • Objetos CLR (Assemblies, CLR-UDT, CLR-Store Procedure, CLR-Triggers)
  • Gatilhos (incluindo Gatilhos DDL)
  • Sinônimos
  • Esquemas
  • Grupos de arquivos
  • Visualizações
  • Funções
  • Procedimentos da loja
  • Funções/Esquemas de Partição
  • Comercial
  • Funções


Instalação 

image-1653282570842.png


  • Extrair tudo e executar como administrador o aplicativo

image-1653282732513.png


  • Está pronto para ser utilizado

image-1653282815864.png


Utilização

Preencher os campos do banco de origem(Source database), com os seguintes dados:

  • Servidor.
  • Tipo de autenticação.
  • Usuário.
  • Senha.
  • Banco de dados.

image-1653283650240.png


Preencher os campos do banco de destino(Destination database):

image-1653283768390.png


Fazer comparação das bases

image-1653283870097.png

Atualizar a estrutura.

image-1653284410585.png


Entendendo as cores

Verde: Cria novos objetos estruturais, da origem ao destino, por exemplo: criar uma nova tabela.

Azul: Altera um objeto já existente, da origem ao destino, por exemplo: renomeia uma coluna.

Vermelho: Indica que o objeto existe no destino e não na origem, portanto não será efetuada nenhuma mudança ao atualizar.


Pode-se obter o script de sincronização para alteração conforme necessidade.

image-1653284802144.png


CONCLUSÃO

Após estudos e análise da implementação do OpenDBDiff, queda constatado que é uma ferramenta de grande utilidade quando se quer fazer comparação, sincronização e atualização de estruturas e/ou dados no Sistema de Gerenciamento de Banco de dado Microsoft SQL Server 2005+. 


REFERÊNCIAS