Kategorien

Datenbank Schema Diff

Vergleicht zwei Datenbankschemas und erstellt einen Migrationsentwurf

Unterstuetzt SQL DDL oder JSON/YAML Schemabeschreibungen mit Tabellen-, Spalten-, Index- und Fremdschluessel-Diffs.

Beispielergebnisse

2 Beispiele

SQL-DDL vergleichen und PostgreSQL-Migration entwerfen

Zeigt, wie ein Schema eine Pflichtspalte und einen Index erhaelt, und erzeugt passendes Migrations-SQL.

{
  "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);"
}
Eingabeparameter anzeigen
{ "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" }

JSON-Schemas mit SQLite-Hinweis vergleichen

Vergleicht JSON-Schema-Zusammenfassungen mit entfernter Tabelle und Spalte inklusive SQLite-Neuaufbau-Hinweis.

{
  "summary": {
    "tablesRemoved": 1,
    "columnsRemoved": 1
  },
  "migrationSQL": "DROP TABLE audit_logs;\n-- SQLite requires table rebuild to drop column users.email"
}
Eingabeparameter anzeigen
{ "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" }

Wichtige Fakten

Kategorie
Development
Eingabetypen
textarea, select
Ausgabetyp
json
Sample-Abdeckung
4
API verfügbar
Yes

Überblick

Database Schema Diff vergleicht zwei Datenbankschemata und erzeugt einen migrationsorientierten Bericht ueber Tabellen, Spalten, Indizes und Fremdschluessel.

Wann verwenden

  • Wenn Sie verstehen muessen, wie sich ein Schema zwischen zwei Versionen aendert.
  • Wenn Release Planung von konkreten DDL Aenderungen abhaengt.
  • Wenn ein Migrationsentwurf fuer MySQL, PostgreSQL oder SQLite gebraucht wird.
  • Wenn Schema Updates in Pull Requests oder Uebergabedokumenten geprueft werden.

So funktioniert es

  • Fuegen Sie aktuelles und Zielschema als SQL DDL oder JSON/YAML Zusammenfassung ein.
  • Das Tool analysiert Tabellen, Spalten, Indizes und Fremdschluessel auf beiden Seiten.
  • Danach vergleicht es Hinzufuegungen, Entfernungen und Aenderungen.
  • Die Ausgabe enthaelt eine strukturierte Diff Liste, SQL Entwurf und Visualisierungsdaten.

Anwendungsfälle

Produktionsmigrationen vor einem Release planen.
Pruefen, ob Spaltenaenderungen breaking sein koennten.
Einen klaren Bericht zwischen Entwicklung und DevOps austauschen.
Schemas aus verschiedenen Branches oder Umgebungen vergleichen.

Beispiele

1. Schemas vor dem Deployment vergleichen

Backend Engineer
Hintergrund
Ein Branch fuegt Audit Tabellen hinzu und aendert Benutzer Spalten.
Problem
Das Team muss wissen, was sich in Produktion aendern wird.
Verwendung
Aktuelles und Ziel DDL einfuegen, Dialekt waehlen und Bericht plus SQL Entwurf pruefen.
Beispielkonfiguration
Schemaformat: Auto Detect. Dialekt: PostgreSQL.
Ergebnis
Das Team erhaelt einen klaren Bericht ueber Tabellen-, Spalten-, Index- und Beziehungsaenderungen.

Mit Samples testen

sql

Verwandte Hubs

FAQ

Welche Eingabeformate werden unterstuetzt?

SQL DDL sowie JSON/YAML Schema Zusammenfassungen werden unterstuetzt.

Wird Migrations SQL erzeugt?

Ja. Das Tool erstellt einen Entwurf, der als Ausgangspunkt fuer Review und Verfeinerung dient.

Fuer welche Datenbanken ist es gedacht?

Es orientiert sich an gaengigen Schemaaenderungen in MySQL, PostgreSQL und SQLite.

Werden auch Beziehungen dargestellt?

Ja. Fremdschluessel Aenderungen und relationale Graphdaten sind Teil der Ausgabe.

API-Dokumentation

Request-Endpunkt

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

Request-Parameter

Parameter-Name Typ Erforderlich Beschreibung
sourceSchema textarea Ja -
targetSchema textarea Ja -
schemaFormat select Nein -
dialect select Nein -

Antwortformat

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

MCP-Dokumentation

Fügen Sie dieses Tool zu Ihrer MCP-Server-Konfiguration hinzu:

{
  "mcpServers": {
    "elysiatools-database-schema-diff": {
      "name": "database-schema-diff",
      "description": "Vergleicht zwei Datenbankschemas und erstellt einen Migrationsentwurf",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=database-schema-diff",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Sie können mehrere Tools verketten, z.B.: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, maximal 20 Tools.

Wenn Sie auf Probleme stoßen, kontaktieren Sie uns bitte bei [email protected]