Aller au contenu

Schéma SQL vers DBML

Convertit les instructions CREATE TABLE en une définition de diagramme DBML.

Entrée
Sortie

Schéma SQL vers DBML

Collez une ou plusieurs instructions CREATE TABLE et cet outil retourne l'équivalent en DBML — le format texte brut utilisé par dbdiagram.io et les outils similaires de diagrammes entité-association. Chaque table devient un bloc Table, chaque colonne conserve son nom et son type, et les clés primaires, contraintes d'unicité et clés étrangères sont transférées automatiquement. Il est conçu pour le moment où vous avez un dump de schéma et avez besoin d'un diagramme rapidement, sans coller du SQL dans un service hébergé.

L'option de dialecte indique au parseur ce qu'il lit — MySQL, PostgreSQL, SQLite ou SQL Server — car le même mot-clé peut signifier des choses différentes selon les moteurs (un TINYINT(1) MySQL est lu comme booléen, une colonne IDENTITY SQL Server est lue comme auto-incrémentation). Activez le mappage des types pour réduire les types spécifiques au dialecte à l'ensemble canonique de DBML (int, varchar, decimal, timestamp, etc.), ou laissez-le désactivé pour conserver les noms d'origine. Les commentaires — une clause COMMENT MySQL ou une instruction COMMENT ON PostgreSQL — deviennent des entrées Note de DBML lorsque "Conserver les commentaires" est activé. Les noms de colonne comme user_id peuvent éventuellement déduire une relation vers une table users même sans clé étrangère explicite, et les tables partageant un préfixe de nom (shop_orders, shop_products) peuvent être regroupées dans un TableGroup.

L'outil comprend les clauses REFERENCES en ligne, les contraintes FOREIGN KEY au niveau de la table et les instructions ALTER TABLE ADD CONSTRAINT séparées, il fonctionne donc sur un seul bloc CREATE TABLE ou sur un dump complet avec des clés ajoutées ultérieurement. Les clés primaires composites et les contraintes d'unicité sont rendues sous forme de blocs d'index DBML plutôt que d'être supprimées.

Tout s'exécute localement dans votre navigateur — aucun schéma n'est jamais téléchargé nulle part, ce qui importe quand le SQL que vous collez décrit une véritable base de données de production. Copiez le DBML, téléchargez-le en tant que fichier .txt, ou envoyez directement la sortie vers un autre outil pour continuer à travailler dessus.

FAQ

Quels sont les dialectes SQL pris en charge ?
MySQL, PostgreSQL, SQLite et SQL Server. Choisissez le dialecte correspondant pour que la détection du mappage des types et de l'auto-incrémentation lise correctement le SQL.
Comment les clés étrangères sont-elles détectées ?
À partir des clauses REFERENCES en ligne, des contraintes FOREIGN KEY au niveau de la table et des instructions ALTER TABLE ADD CONSTRAINT ... FOREIGN KEY séparées — les trois sont converties en lignes Ref de DBML.
Que fait "Déduire les relations à partir des noms de colonne" ?
Quand une colonne est nommée comme user_id et qu'aucune clé étrangère explicite n'existe, l'outil vérifie s'il existe une table users correspondante avec une colonne id et ajoute une Ref pour elle, marquée comme déduite dans la sortie.
Puis-je coller directement la sortie dans dbdiagram.io ?
Oui. La sortie est du DBML pur — tables, colonnes, clés et relations — dans le format que dbdiagram.io et les outils compatibles attendent.
Mon schéma est-il téléchargé quelque part ?
Non. Le SQL que vous collez est entièrement analysé dans votre navigateur et ne quitte jamais votre appareil.