Documentar mi Base de Datos con SchemaSpy

Recientemente conoci la herramienta SchemaSpy para documentar Bases de Datos, generando documentación visual, detallada, pero sobretodo, muy entendible.

_config.yml

Esta entrada servirá como introducción para ver lo que podemos hacer con SchemaSpy y su uso en nuestros proyectos. Lo primero, descargar e instalar SchemaSpy, para ellos seguimos los pasos descritos en su documentación oficial.

SchemaSpy funciona con la mayoría de los motores de Base de Datos, como ser Oracle, MS-SQL, DB2, PostgreSQL, MySQL, etc; y se conecta a ellos a través de JDBC.

La forma más simple de ejecutar SchemaSpy es a través de linea de comandos, pasando como parámetros los datos para conexión a la Base de Datos que queremos documentar:

java -jar schemaspy.jar -t mssql05 -dp C:/sqljdbc4-3.0.jar -db NOMBRE_BD -host SERVIDOR -port 1433 -s dbo -u USUARIO_BD -p PASSWORD_BD -o DIRECTORIO_DE_SALIDA

Pero si queremos tener guardada la configuración utilizada para documentar la Base de Datos de uno de nuestros proyectos, es mejor utilizar un archivo de configuración normalmente denominado “schemaspy.properties”. A continuación un detalle de cómo se vé uno:

#
#java -jar .\schemaspy-6.1.0.jar -configFile schemaspy.properties
#

# database type (pgsql, mssql, ora, mysql)
schemaspy.t=pgsql
 
# path to the database JDBC driver (postgresql-42.2.14.jar, mssql-jdbc-8.2.2.jre8.jar, ojdbc6.jar, mysql-connector-java-8.0.21.jar)
schemaspy.dp=./drivers/postgresql-42.2.14.jar

schemaspy.host=127.0.0.1
schemaspy.port=5432
 
# database name
schemaspy.db=db_prueba
 
# database user
schemaspy.u=postgres
schemaspy.p=**********
 
# output folder for the generated resukt
schemaspy.o=C:/mi_documentacion
 
# database schema
schemaspy.s=public

Para utilizar este archivo como parámetro para SchemaSpy, debemos ejecutar

java -jar schemaspy.jar -configFile schemaspy.properties

SchemaSpy genera el resultado en archivos HTML, JS, CSS e imágenes (generadas con Graphviz), y todo es guardado en la carpeta de salida “schema.o”.

La documentación incluye todas las tablas, vistas, columnas, constraints, procedimientos almacenados, funciones y más detalles de cada tabla. Además se genera una representación visual del diagrama relacionales de las tablas en la Base de Datos:

_config.yml

Esta herramienta es muy util para documentar nuestra Base de Datos o para verificar la estructura y problemas de Bases de Datos que nos encontramos en nuetsros distintos proyectos.

comments powered by Disqus