DrawDB : un outil open source pour modéliser vos bases de données

Base de données

DrawDB : un outil open source pour modéliser vos bases de données

Concevoir, visualiser et générer les scripts de vos bases de données relationnelles directement depuis un navigateur web, c’est la mission de l’outil open source DrawDB.

DrawDB est aux bases de données ce que Draw.io est aux diagrammes : une application en ligne efficace et facile à utiliser. En effet, DrawDB se présente comme un éditeur en ligne de diagrammes qui est focus sur les bases de données, et plus particulièrement sur ce que l’on appelle les Entity Relationship Diagram (ERD).

À l’inverse de solutions en ligne nécessitant une inscription, et qui sont potentiellement payantes, DrawDB est gratuit et open source. Vous pouvez l’utiliser depuis le site officiel sans avoir à créer de compte, et mieux encore, vous pouvez l’auto-héberger sur votre serveur, votre ordinateur ou encore votre NAS.

L’approche de DrawDB repose sur un traitement local. Lorsque vous accédez au site web, l’application charge l’éditeur dans votre navigateur web et utilise les technologies locales de votre machine, ce qui veut dire que vous devez penser à exporter votre création (car rien n’est stocké sur le serveur).

DrawDB est capable de prendre en charge une grande variété de solutions autour de SQL, notamment MySQL, PostgreSQL, SQLite, MariaDB et SQL Server.

Les fonctionnalités de DrawDB

Avant d’évoquer l’installation de DrawDB avec Docker, prenons un instant pour dresser une liste des fonctionnalités essentielles de cette application :

  • Éditeur visuel interactif : l’interface permet de glisser-déposer des tables, de définir des colonnes et de créer des relations (clés primaires et clés étrangères) par de simples clics.
  • Support multi-SGBD : l’outil ne se limite pas à un seul moteur de base de données. Il permet d’adapter la syntaxe du code généré en fonction du système de gestion de bases de données relationnelles (SGBD) ciblé. De ce fait, vous devez sélectionner le type dès le début de la création d’un diagramme.
  • Import : vous avez la possibilité d’importer un script SQL existant pour générer automatiquement le diagramme correspondant. C’est une méthode efficace pour documenter une base de données et même pour comprendre le fonctionnement d’une application.
  • Export : outre la génération de code SQL prêt à l’emploi, DrawDB permet d’exporter vos schémas vers d’autres formats, comme JSON, Markdown, sous forme de script Mermaid, ainsi que sous forme d’images (SVG, PNG). Il y a aussi un schéma propre à DrawDB.
  • Personnalisation de l’espace de travail : l’utilisateur peut modifier les couleurs des différentes tables, ajouter des notes contextuelles et organiser son schéma en ajoutant des zones logiques au diagramme.
  • Gestion des versions et des tâches : vous pouvez gérer plusieurs versions d’un même diagramme et même y associer une liste de tâches.

Déployer DrawDB en local avec Docker

DrawDB est compatible avec l’approche self-hosted : vous pouvez donc l’auto-héberger à l’aide de Docker. Il n’y a pas besoin d’avoir du stockage persistant, car la sauvegarde des diagrammes passe par un export sur votre machine, comme pour d’autres applications de diagramme en mode web.

Le projet DrawDB met à disposition une image Docker officielle hébergée sur le registre GitHub Container Registry (GHCR). Attention, celle disponible sur le Docker Hub ne semble pas officielle, et elle n’utilise pas la dernière version.

Vous pouvez télécharger l’image Docker et lancer le conteneur via cette commande :


Sinon, créez un fichier avec le code suivant :


Puis, lancez la construction du projet :


Vous pouvez alors accéder à votre instance personnelle DrawDB en ouvrant un navigateur web à l’adresse . Il est tout à fait possible de publier l’application avec un reverse proxy.


Découverte de DrawDB

Vous arrivez sur une interface semblable à celle du site officiel. Vous pouvez cliquer sur le bouton “Editor” pour basculer sur l’éditeur en ligne ou partir d’un modèle existant en cliquant sur l’onglet “Templates“.

Lors de la création d’un nouveau diagramme, vous devez sélectionner un type de SGBDR.

Si vous disposez d’un fichier SQL, comme celui présenté ci-dessous, vous pouvez l’importer dans DrawDB. Ci-dessous, il s’agit d’un exemple bidon généré avec une IA pour réaliser cette démonstration.


Vous pouvez ensuite importer directement le fichier . De la même façon, ce menu dispose d’options pour faciliter l’export du diagramme dans différents formats.

Une fois que le fichier a été importé, le diagramme est immédiatement généré. DrawDB offre un aperçu visuel sur les tables, leurs champs et les relations entre les tables. Au-delà de la visualisation, vous pouvez désormais exploiter DrawDB pour poursuivre la configuration, que ce soit pour ajouter une nouvelle ou un nouveau champ dans une table existante.

Une fois la modélisation terminée, dirigez-vous vers le menu d’exportation de l’application. Vous pouvez choisir de télécharger l’intégralité du schéma sous forme d’un fichier script SQL. Le code textuel généré contiendra les instructions SQL nécessaires pour reproduire ce schéma, comme les instructions ainsi que les déclarations de contraintes respectant la syntaxe du SGBDR sélectionné initialement.

Conclusion

Au-delà d’être open source, DrawDB est une application pertinente pour les concepteurs, administrateurs systèmes et développeurs amenés à manipuler des schémas relationnels de bases de données.

L’approche sans compte utilisateur, avec son stockage dans le navigateur local du client, et la possibilité de l’auto-héberger avec un simple conteneur Docker, permettent de l’intégrer facilement dans une boite à outils !


SOURCE