Points clés
- Catégorie
- Développement et Web
- Types d’entrée
- textarea, select
- Type de sortie
- json
- Couverture des échantillons
- 4
- API disponible
- Yes
Vue d’ensemble
Ce comparateur de schémas analyse deux structures de base de données et génère automatiquement un brouillon de migration SQL. Il identifie les différences de tables, colonnes, index et clés étrangères à partir de DDL SQL ou de descriptions JSON/YAML, en prenant en charge les dialectes PostgreSQL, MySQL et SQLite.
Quand l’utiliser
- •Préparer une migration de base de données entre deux versions d'application
- •Réviser les changements structurels proposés dans une pull request
- •Documenter les modifications de schéma lors d'un refactoring legacy
Comment ça marche
- •Collez le schéma actuel (DDL SQL ou JSON/YAML) dans le champ 'Schema source'
- •Insérez le schéma cible souhaité dans le champ 'Schema cible'
- •Sélectionnez le format (SQL, JSON/YAML ou détection auto) et le dialecte (PostgreSQL, MySQL, SQLite)
- •L'outil génère un résumé des changements et le SQL de migration correspondant
Cas d’usage
Exemples
1. Migration PostgreSQL : ajout d'une colonne email et index
Développeur backend- Contexte
- L'équipe décide d'ajouter une adresse email obligatoire aux utilisateurs et d'indexer ce champ pour accélérer les recherches.
- Problème
- Générer le script SQL ALTER TABLE et CREATE INDEX sans erreur de syntaxe.
- Comment l’utiliser
- Coller le DDL actuel dans 'Schema source', le DDL cible avec la nouvelle colonne et l'index dans 'Schema cible', puis sélectionner 'SQL DDL' et 'PostgreSQL'.
- Configuration d’exemple
-
{ "schemaFormat": "sql", "dialect": "postgresql" } - Résultat
- Obtention du SQL de migration avec ALTER TABLE pour ajouter la colonne email NOT NULL et CREATE INDEX pour idx_users_email.
2. Refactoring SQLite avec suppression de tables et colonnes
Architecte données- Contexte
- Nettoyage d'une base SQLite legacy en supprimant la table audit_logs et la colonne email obsolète de la table users.
- Problème
- SQLite ne supporte pas DROP COLUMN nativement, il faut reconstruire la table.
- Comment l’utiliser
- Fournir les schémas JSON source et cible, choisir 'JSON ou YAML' et 'SQLite'.
- Résultat
- Détection de la suppression de table et colonne, avec alerte spécifique SQLite indiquant la nécessité de reconstruire la table users pour supprimer la colonne email.
Tester avec des échantillons
sqlHubs associés
FAQ
Quels formats de schéma sont acceptés ?
SQL DDL, JSON et YAML. La détection automatique du format est disponible.
Quels SGBD sont supportés ?
PostgreSQL, MySQL et SQLite, avec détection automatique du dialecte possible.
L'outil détecte-t-il les clés étrangères ?
Oui, il identifie les ajouts, suppressions et modifications d'index et de clés étrangères.
Le SQL généré est-il directement exécutable ?
C'est un brouillon de migration à valider. Certaines opérations comme la suppression de colonnes sous SQLite nécessitent des étapes manuelles.
Puis-je comparer un schéma SQL avec un schéma JSON ?
Non, les deux schémas doivent utiliser le même format pour permettre la comparaison.