Diff de schéma SQL
Comparez deux schémas CREATE TABLE et générez la migration ALTER TABLE entre eux.
Diff de schéma SQL
Collez votre schéma actuel à gauche et le schéma que vous voulez atteindre à droite, et cet outil vous écrit la migration entre eux. Il compare les déclarations CREATE TABLE tableau par tableau et colonne par colonne, puis génère les déclarations CREATE TABLE, DROP TABLE, ADD COLUMN, DROP COLUMN et ALTER COLUMN nécessaires pour transformer le premier schéma en second — utile pour examiner un changement de schéma, écrire un fichier de migration à la main, ou vérifier ce qu'a réellement fait un outil de génération de schéma.
Choisissez une base de données parmi l'option Base de données — PostgreSQL, MySQL ou SQLite — car chacun écrit les changements de colonne différemment : PostgreSQL utilise ALTER COLUMN ... TYPE et SET/DROP NOT NULL, MySQL combine le type et la nullabilité en une seule déclaration MODIFY COLUMN, et SQLite n'a pas ALTER COLUMN du tout, donc ces cas sont notés comme nécessitant une reconstruction de table. Incluez les changements d'index pour aussi différencier les déclarations CREATE INDEX, enveloppez la sortie dans une transaction, et activez l'option de restauration pour une deuxième migration inverse ajoutée sous la première.
Supprimer une table ou une colonne, rétrécir un type, ou ajouter NOT NULL peut supprimer des données ou échouer contre les lignes qui ne correspondent pas à la nouvelle contrainte. Avec « Avertir sur la perte de données » activé, chaque étape de ce type est marquée dans la sortie pour qu'il soit facile de la repérer avant d'exécuter quoi que ce soit sur une vraie base de données. Les tables qui se référencent mutuellement via une clé étrangère sont créées et supprimées dans l'ordre des dépendances, donc le script ne s'interrompt pas sur une table dont il avait besoin en premier.
Tout s'exécute localement dans votre navigateur — vos schémas ne sont jamais téléchargés nulle part, il est donc sûr de coller les vraies définitions de table d'une base de données privée. Copiez la migration, téléchargez-la en tant que fichier .txt, ou envoyez la sortie vers l'entrée pour la peaufiner davantage.