Categorías

Diff de Schema de Base de Datos

Compara dos schemas y genera un borrador de migracion

Analiza tablas, columnas, indices y claves foraneas a partir de SQL DDL o resumentes JSON/YAML.

Resultados de ejemplo

2 Ejemplos

Comparar SQL DDL y redactar una migracion PostgreSQL

Muestra como el schema agrega una columna obligatoria e indice y genera el SQL correspondiente.

{
  "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 con advertencia de SQLite

Compara resumentes JSON donde se elimina una tabla y una columna, incluyendo la nota de reconstruccion en 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" }

Datos clave

Categoría
Development
Tipos de entrada
textarea, select
Tipo de salida
json
Cobertura de muestras
4
API disponible
Yes

Resumen

Database Schema Diff compara dos definiciones de schema y convierte la diferencia en un informe orientado a migraciones con tablas, columnas, indices y claves foraneas.

Cuándo usarlo

  • Cuando necesitas entender como cambia un schema entre dos versiones.
  • Cuando la planificacion de un release depende de cambios DDL concretos.
  • Cuando quieres un borrador de migracion para MySQL, PostgreSQL o SQLite.
  • Cuando revisas cambios de base de datos en pull requests o entregas.

Cómo funciona

  • Pegas el schema actual y el schema objetivo en SQL DDL o JSON/YAML.
  • La herramienta analiza tablas, columnas, indices y claves foraneas.
  • Luego compara altas, bajas y cambios entre ambas versiones.
  • La salida incluye una lista estructurada, SQL de migracion y datos para visualizacion.

Casos de uso

Planificar una migracion productiva antes de un despliegue.
Revisar si un cambio introduce modificaciones peligrosas en columnas.
Preparar un informe de traspaso entre desarrollo y DevOps.
Comparar schemas generados en distintas ramas o entornos.

Ejemplos

1. Revisar una migracion antes del despliegue

Ingeniero backend
Contexto
Una rama agrega tablas de auditoria y cambia columnas de usuarios.
Problema
El equipo necesita saber exactamente que cambiara en produccion.
Cómo usarlo
Pega el DDL actual y el objetivo, selecciona el dialecto y revisa el diff y el SQL.
Configuración de ejemplo
Formato: Auto Detect. Dialecto: PostgreSQL.
Resultado
El equipo obtiene un resumen claro de tablas, columnas, indices y relaciones modificadas.

Probar con muestras

sql

Hubs relacionados

Preguntas frecuentes

Que formatos acepta?

Acepta SQL DDL y tambien resumentes JSON/YAML de schema.

Genera SQL de migracion?

Si. Produce un borrador que sirve como base para revision y ajuste manual.

Para que motores esta pensado?

Esta orientado a cambios comunes de MySQL, PostgreSQL y SQLite.

Incluye relaciones y claves foraneas?

Si. Los cambios en foreign keys y los datos de relacion se incluyen en la salida.

Documentación de la API

Punto final de la solicitud

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

Parámetros de la solicitud

Nombre del parámetro Tipo Requerido Descripción
sourceSchema textarea -
targetSchema textarea -
schemaFormat select No -
dialect select No -

Formato de respuesta

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

Documentación de MCP

Agregue este herramienta a su configuración de servidor MCP:

{
  "mcpServers": {
    "elysiatools-database-schema-diff": {
      "name": "database-schema-diff",
      "description": "Compara dos schemas y genera un borrador de migracion",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=database-schema-diff",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Puede encadenar múltiples herramientas, por ejemplo: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, máximo 20 herramientas.

Si encuentra algún problema, por favor, póngase en contacto con nosotros en [email protected]