Qu'est-ce que DBML et pourquoi le convertir en SQL ?
DBML (Database Markup Language) est un format de Holistics, utilisé dans le populaire outil dbdiagram.io. Il permet de décrire un schéma de base sous une forme propre et compacte, sans tout le cérémonial syntaxique du SQL.
En DBML, vous écrivez `Table users { id integer [pk] name varchar }` au lieu de `CREATE TABLE users (id INTEGER PRIMARY KEY, name VARCHAR(255))`. Plus court, plus lisible, plus facile à relire. Mais il faut bien du vrai SQL pour créer les tables dans une vraie base.
Cet outil convertit DBML en SQL pour PostgreSQL, MySQL ou SQLite. Pris en charge : tables, colonnes typées, clés primaires, auto-increment, NOT NULL, UNIQUE, valeurs par défaut, index, foreign keys (Refs), enums. Affiche aussi les erreurs de parsing avec numéros de ligne.
Mode d'emploi
- Collez votre schéma DBML dans le panneau de gauche. Le format suit dbdiagram.io.
- Choisissez le dialecte cible : PostgreSQL, MySQL ou SQLite. Chacun a ses propres types et conventions.
- À droite, vous obtenez les CREATE TABLE et ALTER TABLE prêts à coller dans une migration ou dans votre base.
- En cas d'erreurs de parsing, la liste apparaît en dessous avec les numéros de ligne. Corrigez l'entrée et la sortie se met à jour.
- Copiez le résultat avec le bouton Copier et collez-le dans votre outil de migration, Prisma, Drizzle, Flyway, Liquibase, ou ce que vous utilisez.
- L'option Format result passe la sortie dans un formateur SQL pour une indentation propre. Désactivez-la pour une sortie brute.
Quand c'est utile
Scénarios courants :
- Conception d'une nouvelle base de zéro. Vous commencez en DBML parce qu'il est plus rapide de capturer des idées qu'en SQL complet. Une fois le schéma stabilisé, vous générez les CREATE TABLE.
- Synchronisation d'un diagramme avec une migration. Vous avez un diagramme dans dbdiagram.io (ou exporté depuis un autre outil) et vous voulez créer les tables dans une nouvelle base. Le convertisseur raccourcit ce chemin.
- Documentation technique. DBML est lisible par les non-ingénieurs. SQL est exécutable. Écrivez une fois en DBML, générez du SQL pour les développeurs et un diagramme pour la PM.
- Revue de code de schéma avant une migration. Plus facile de repérer une erreur en DBML que dans plusieurs lignes de CREATE TABLE.
- Apprendre SQL. Observez comment un simple `Table users { id integer [pk] }` se déploie en `CREATE TABLE "users" ("id" INTEGER PRIMARY KEY)`. Un beau chemin d'apprentissage.
Après avoir généré le SQL, vous voudrez peut-être le formater. Besoin d'un schéma ORM à la place ? Voir le convertisseur SQL vers ORM.