# Diff de Schema de Banco de Dados

Compara dois schemas e gera um rascunho de migracao

> Página canônica: https://elysiatools.com/pt/tools/database-schema-diff

- **Categoria:** Development

- **Palavras-chave:** banco de dados, schema, diff, migracao, sql, ddl, postgres, mysql, sqlite

## Visão geral

Suporta SQL DDL e resumos JSON/YAML, destacando tabelas, colunas, indices e chaves estrangeiras.

## Entradas

- **Schema de origem** (textarea): Paste the current schema SQL or JSON here...
- **Schema de destino** (textarea): Paste the desired schema SQL or JSON here...
- **Formato do schema** (select)
- **Dialeto** (select)

## Quando usar

- Quando precisar gerar scripts de migração SQL para atualizar um banco de dados de produção com base em um novo modelo de desenvolvimento.
- Para revisar alterações de schema propostas em pull requests, comparando o estado atual com o novo DDL.
- Ao migrar definições de banco de dados de formatos JSON/YAML para instruções SQL nativas em diferentes dialetos.

## Como funciona

- Cole o schema atual no campo 'Schema de origem' e o novo schema no campo 'Schema de destino'.
- Selecione o formato do schema (SQL DDL ou JSON/YAML) e o dialeto do banco de dados (MySQL, PostgreSQL ou SQLite), ou deixe em detecção automática.
- A ferramenta processa as entradas e identifica tabelas, colunas, índices e chaves estrangeiras adicionadas, removidas ou alteradas.
- O resultado é retornado em JSON, contendo um resumo das modificações e o código SQL do rascunho de migração.

## Casos de uso

- Geração rápida de scripts ALTER TABLE e CREATE INDEX para atualizações de banco de dados PostgreSQL.
- Auditoria de mudanças estruturais em bancos de dados legados comparando dumps DDL antigos e novos.
- Conversão de alterações de modelagem feitas em JSON para comandos de migração compatíveis com MySQL ou SQLite.

## Perguntas frequentes

### Quais formatos de schema são suportados?

A ferramenta suporta instruções SQL DDL diretas e resumos de schema estruturados em JSON ou YAML.

### Quais bancos de dados a ferramenta reconhece?

Suportamos os dialetos MySQL, PostgreSQL e SQLite. Você também pode usar a opção de detecção automática.

### A ferramenta gera o script de migração completo?

Ela gera um rascunho de migração SQL baseado nas diferenças encontradas. É recomendado revisar o código gerado antes de executá-lo em produção.

### Como o SQLite lida com a remoção de colunas?

Como o SQLite possui limitações para remover colunas diretamente via DROP COLUMN, a ferramenta adiciona um aviso no SQL gerado indicando a necessidade de recriar a tabela.

### O que o resumo de alterações inclui?

O JSON de saída inclui contagens exatas de tabelas, colunas, índices e chaves estrangeiras que foram adicionadas, removidas ou modificadas.

## Ferramentas relacionadas

- [Gerador de Backup de Banco de Dados](https://elysiatools.com/pt/tools/database-backup-generator): Gerar scripts de backup SQL para tabelas
- [Gerador de Migração de Banco de Dados](https://elysiatools.com/pt/tools/database-migration-generator): Gerar scripts de migração SQL para alterações de esquema
- [Gerador de Esquema de Tabela](https://elysiatools.com/pt/tools/table-schema-generator): Gerar definições de esquema de tabela SQL
- [Planejador de migracao CSV para banco de dados](https://elysiatools.com/pt/tools/csv-to-database-migration-planner): Infere um schema relacional a partir de CSV e gera planos CREATE TABLE e ALTER para PostgreSQL, MySQL, SQLite ou SQL Server
- [Gerador XLSX SQL INSERT](https://elysiatools.com/pt/tools/xlsx-sql-insert-generator): Gera SQL INSERT a partir do Excel
- [Ponte de dialetos SQL](https://elysiatools.com/pt/tools/sql-dialect-bridge): Traduz DDL, DML, funções e tipos entre MySQL / PostgreSQL / SQLite / BigQuery / Snowflake / Redshift, sinalizando o não suportado
- [Visualizador de Plano de Execução SQL](https://elysiatools.com/pt/tools/sql-explain-plan-visualizer): Cole a saída do EXPLAIN / EXPLAIN ANALYZE (PostgreSQL/MySQL/SQLite) para renderizar uma árvore de custos, marcar divergências entre linhas estimadas e reais e sugerir índices
- [Construtor de Consultas SQL](https://elysiatools.com/pt/tools/sql-query-builder): Construir consultas SQL simples visualmente

## Exemplos

- [MySQL Database Exemplos](https://elysiatools.com/pt/samples/mysql-database-samples): Scripts de banco de dados MySQL de vários níveis de complexidade, de tabelas simples a sistemas ERP empresariais
- [Exemplos de Banco de Dados Android Java](https://elysiatools.com/pt/samples/android-database-java): Exemplos de banco de dados Android Java incluindo conexão SQLite, consultas SQL e processamento de transações
- [Exemplos de Banco de Dados Android Kotlin](https://elysiatools.com/pt/samples/android-database-kotlin): Exemplos de banco de dados Android Kotlin incluindo conexão SQLite, execução de consultas SQL e processamento de transações
- [Banco de Dados macOS Objective-C - Exemplos](https://elysiatools.com/pt/samples/macos-database-objectivec): Exemplos de banco de dados macOS Objective-C incluindo operações CRUD SQLite, consultas, transações e gerenciamento de conexões

## Conteúdo relacionado

- [Ferramentas de schema de banco de dados, migracao e fluxos SQL](https://elysiatools.com/pt/hubs/database-schema-migration): Planeje schemas de tabelas, gere SQL, compare mudancas no banco, valide relacionamentos e transforme planilhas em dados prontos para carga em um unico hub.
- [Ferramentas de revisao de consultas SQL, performance e integridade relacional](https://elysiatools.com/pt/hubs/sql-query-review-performance-and-integrity): Revise SQL antes de colocar em producao: formate consultas, monte joins, inspecione planos EXPLAIN, detecte padroes de injecao, valide chaves estrangeiras e compare deriva de schema em um unico hub.
- [Ferramentas de Diff e Comparação de Arquivos e Dados](https://elysiatools.com/pt/hubs/file-data-diff-comparison-tools): Compare dois arquivos, payloads, esquemas ou conjuntos de dados lado a lado e destaque o que mudou — em texto, JSON, CSV/Excel, PDF, imagens, áudio, bancos de dados, APIs e configurações.
- [Geradores de schema JSON, dados mock e fixtures de API](https://elysiatools.com/pt/hubs/json-generate): Ferramentas reunidas para geracao de schema JSON, construcao de payloads mock e preparacao de fixtures de API em um unico hub.
