URL: https://linuxfr.org/users/steph1978/journaux/graph-my-database Title: Graph my database Authors: steph1978 Date: 2021年03月28日T21:58:45+02:00 License: CC By-SA Tags: diagramme, mobilizon, framasoft, sql et graphviz Score: 58 Que ceux qui n'aiment pas les graphes quittent immédiatement ce journal. Je travaille sur [Mobilizon](https://joinmobilizon.org/fr/), le logiciel développé par Framasoft, pour s'affranchir de Faïcebouc dans l'organisation de groupe et d'événements. Je voulais avoir une représentation graphique du modèle de données. Pas à la main bien sûr, mais construit à partir de la base de [prod](https://keskonfai.fr/). Comme j'utilise au quotidien [SquirrelSQL](http://www.squirrelsql.org/) et qu'il a un plugin graph, essayons :  Pas terrible. Direction un moteur de recherche web. Je trouve [DBeaver](https://dbeaver.io/) (basé sur la plateforme Eclipse) et me dis que décidément, le DBA aiment les rongeurs. J'installe, je branche sur la DB, et voilà.  Beaucoup plus lisible mais pas encore au niveau que je souhaite. Je crois lire que DBeaver ou un autre utilise [graphviz](http://graphviz.org/) pour faire le placement. Et je me dis que finalement un outil qui se connecte à la DB, récupère le tables et les relations et pond un script dot serait plus proche de ce que je cherche. Et bien cela existe, ça s'appelle [SchemaCrawler](https://www.schemacrawler.com/). Un download+extract et quelques ajustements de la ligne de commande - `schemacrawler.sh ... --command=schema --load-row-counts --table-types=table ... --output-format=scdot` - après, j'obtiens un fichier dot que je peux retoucher un peu et convertir en image :  Joli, hein ?! Pour avoir un rendu correct, il faut 5000px de large alors, il faut zoomer un peu. Mais j'ai testé le rendu sur du A3 et c'est vraiment utilisable. À noter que j'ai exclus quelques tables pour plus de lisibilité. Cela se fait dans la ligne de commande. Cerise sur le gâteau, sc ajoute le nombre de lignes de chaque table. Utile pour avoir une idée du poids de chacune. Et vous, comment auriez vous fait ? Happy graphing !