Categorias

Diff de Schema de Banco de Dados

Compara dois schemas e gera um rascunho de migracao

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

Exemplos de resultados

2 Exemplos

Comparar SQL DDL e gerar rascunho de migracao PostgreSQL

Mostra a adicao de uma coluna obrigatoria e indice e gera o SQL correspondente.

{
  "summary": {
    "tablesAdded": 0,
    "tablesRemoved": 0,
    "columnsAdded": 1,
    "columnsRemoved": 0,
    "columnsChanged": 0,
    "indexesChanged": 1,
    "foreignKeysChanged": 0,
    "totalChanges": 2
  },
  "migrationSQL": "ALTER TABLE users ADD COLUMN email TEXT NOT NULL;\nCREATE INDEX idx_users_email ON users (email);"
}
Ver parâmetros de entrada
{ "sourceSchema": "CREATE TABLE users (\n id INT PRIMARY KEY,\n name TEXT\n);", "targetSchema": "CREATE TABLE users (\n id INT PRIMARY KEY,\n name TEXT,\n email TEXT NOT NULL\n);\nCREATE INDEX idx_users_email ON users (email);", "schemaFormat": "sql", "dialect": "postgresql" }

Comparar schemas JSON com aviso de SQLite

Compara resumos JSON em que uma tabela e uma coluna foram removidas, incluindo a observacao de rebuild no SQLite.

{
  "summary": {
    "tablesRemoved": 1,
    "columnsRemoved": 1
  },
  "migrationSQL": "DROP TABLE audit_logs;\n-- SQLite requires table rebuild to drop column users.email"
}
Ver parâmetros de entrada
{ "sourceSchema": "{\n \"tables\": {\n \"users\": {\n \"columns\": {\n \"id\": {\n \"type\": \"INTEGER\",\n \"primaryKey\": true,\n \"nullable\": false\n },\n \"email\": {\n \"type\": \"TEXT\",\n \"nullable\": false\n }\n }\n },\n \"audit_logs\": {\n \"columns\": {\n \"id\": {\n \"type\": \"INTEGER\",\n \"primaryKey\": true,\n \"nullable\": false\n }\n }\n }\n }\n}", "targetSchema": "{\n \"tables\": {\n \"users\": {\n \"columns\": {\n \"id\": {\n \"type\": \"INTEGER\",\n \"primaryKey\": true,\n \"nullable\": false\n }\n }\n }\n }\n}", "schemaFormat": "json", "dialect": "sqlite" }

Fatos principais

Categoria
Development
Tipos de entrada
textarea, select
Tipo de saída
json
Cobertura de amostras
4
API disponível
Yes

Visão geral

Database Schema Diff compara duas definicoes de schema e gera um relatorio orientado a migracao com tabelas, colunas, indices e chaves estrangeiras.

Quando usar

  • Quando voce precisa entender como um schema mudou entre duas versoes.
  • Quando o planejamento de release depende de alteracoes DDL especificas.
  • Quando a equipe quer um rascunho de migracao para MySQL, PostgreSQL ou SQLite.
  • Quando alteracoes de schema estao sendo revisadas em PRs ou documentos de handoff.

Como funciona

  • Cole o schema atual e o schema alvo em SQL DDL ou JSON/YAML.
  • A ferramenta analisa tabelas, colunas, indices e chaves estrangeiras.
  • Depois compara o que foi adicionado, removido ou alterado.
  • A saida inclui lista estruturada de mudancas, SQL de migracao e dados para visualizacao.

Casos de uso

Planejar uma migracao de producao antes do deploy.
Revisar se uma alteracao de coluna pode quebrar compatibilidade.
Preparar um relatorio claro entre desenvolvimento e DevOps.
Comparar schemas de ambientes ou branches diferentes.

Exemplos

1. Revisar um diff de schema antes da publicacao

Engenheiro backend
Contexto
Uma branch adiciona tabelas de auditoria e muda colunas de usuarios.
Problema
A equipe precisa saber exatamente o que mudara em producao.
Como usar
Cole o DDL atual e o alvo, escolha o dialeto e revise o relatorio com o SQL.
Configuração de exemplo
Formato do schema: Auto Detect. Dialeto: PostgreSQL.
Resultado
A equipe recebe um resumo claro de mudancas em tabelas, colunas, indices e relacionamentos.

Testar com amostras

sql

Hubs relacionados

FAQ

Quais formatos de entrada sao suportados?

Voce pode usar SQL DDL ou resumos de schema em JSON/YAML.

A ferramenta gera SQL de migracao?

Sim. Ela produz um rascunho que pode ser revisado e refinado manualmente.

Para quais bancos ela foi pensada?

Ela cobre cenarios comuns de MySQL, PostgreSQL e SQLite.

Ela mostra mudancas de relacionamento?

Sim. Alteracoes em foreign keys e dados de relacao para visualizacao tambem aparecem.

Documentação da API

Ponto final da solicitação

POST /pt/api/tools/database-schema-diff

Parâmetros da solicitação

Nome do parâmetro Tipo Requerido Descrição
sourceSchema textarea Sim -
targetSchema textarea Sim -
schemaFormat select Não -
dialect select Não -

Formato de resposta

{
  "key": {...},
  "metadata": {
    "key": "value"
  },
  "error": "Error message (optional)",
  "message": "Notification message (optional)"
}
Dados JSON: Dados JSON

Documentação de MCP

Adicione este ferramenta à sua configuração de servidor MCP:

{
  "mcpServers": {
    "elysiatools-database-schema-diff": {
      "name": "database-schema-diff",
      "description": "Compara dois schemas e gera um rascunho de migracao",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=database-schema-diff",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Você pode encadear várias ferramentas, ex: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, máx 20 ferramentas.

Se você encontrar algum problema, por favor, entre em contato conosco em [email protected]