Catégories

Comparateur de Schema Base de Donnees

Compare deux schemas et genere un brouillon de migration

Prend en charge SQL DDL ou JSON/YAML et produit les changements de tables, colonnes, index et cles etrangeres.

Exemples de résultats

2 Exemples

Comparer un DDL SQL et preparer une migration PostgreSQL

Montre lajout dune colonne obligatoire et dun index puis genere le SQL associe.

{
  "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);"
}
Voir paramètres d'entrée
{ "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" }

Comparer des schemas JSON avec alerte SQLite

Compare des resumes JSON ou une table et une colonne sont supprimees, avec la note de reconstruction SQLite.

{
  "summary": {
    "tablesRemoved": 1,
    "columnsRemoved": 1
  },
  "migrationSQL": "DROP TABLE audit_logs;\n-- SQLite requires table rebuild to drop column users.email"
}
Voir paramètres d'entrée
{ "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" }

Points clés

Catégorie
Development
Types d’entrée
textarea, select
Type de sortie
json
Couverture des échantillons
4
API disponible
Yes

Vue d’ensemble

Database Schema Diff compare deux schemas de base de donnees et produit un rapport de migration couvrant tables, colonnes, index et cles etrangeres.

Quand l’utiliser

  • Quand vous devez comprendre la difference entre deux versions de schema.
  • Quand la preparation dun release depend des changements DDL a appliquer.
  • Quand vous voulez un brouillon de migration pour MySQL, PostgreSQL ou SQLite.
  • Quand vous relisez des modifications de schema dans une PR ou un dossier de transfert.

Comment ça marche

  • Collez le schema actuel et le schema cible en SQL DDL ou en JSON/YAML.
  • Loutil analyse tables, colonnes, index et cles etrangeres de chaque cote.
  • Il compare ensuite les ajouts, suppressions et modifications.
  • Le resultat contient une liste structuree, un SQL de migration et des donnees de visualisation.

Cas d’usage

Preparer une migration avant mise en production.
Verifier si une evolution modifie dangereusement certaines colonnes.
Transmettre un rapport clair entre developpement et DevOps.
Comparer des schemas provenant de branches ou denvironnements differents.

Exemples

1. Verifier un diff de schema avant deployer

Ingenieur backend
Contexte
Une branche ajoute des tables daudit et modifie des colonnes utilisateur.
Problème
Lequipe veut voir clairement ce qui changera en production.
Comment l’utiliser
Collez le DDL actuel et cible, choisissez le dialecte et consultez le rapport et le SQL.
Configuration d’exemple
Format : Auto Detect. Dialecte : PostgreSQL.
Résultat
Lequipe obtient un resume lisible des changements de tables, colonnes, index et relations.

Tester avec des échantillons

sql

Hubs associés

FAQ

Quels formats dentree sont pris en charge ?

Le SQL DDL ainsi que les resumes JSON/YAML de schema sont pris en charge.

Le tool genere-t-il un SQL de migration ?

Oui. Il fournit un brouillon de migration utile comme base de revue.

Pour quelles bases de donnees est-il prevu ?

Il cible principalement les styles de changements de schema MySQL, PostgreSQL et SQLite.

Peut-il montrer les relations ?

Oui. Les changements sur les cles etrangeres et les donnees de graphe sont inclus.

Documentation de l'API

Point de terminaison de la requête

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

Paramètres de la requête

Nom du paramètre Type Requis Description
sourceSchema textarea Oui -
targetSchema textarea Oui -
schemaFormat select Non -
dialect select Non -

Format de réponse

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

Documentation de MCP

Ajoutez cet outil à votre configuration de serveur MCP:

{
  "mcpServers": {
    "elysiatools-database-schema-diff": {
      "name": "database-schema-diff",
      "description": "Compare deux schemas et genere un brouillon de migration",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=database-schema-diff",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Vous pouvez chaîner plusieurs outils, par ex.: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, max 20 outils.

Si vous rencontrez des problèmes, veuillez nous contacter à [email protected]