SchemaSpy ist ein Java-basiertes Kommandozeilen-Programm zur Datenbank-Analyse. Mit SchemaSpy kann man ein visuelles Abbild einer Datenbank in Form von HTML Dokumenten erstellen. Damit können die Tabellen, Spalten und Relationen einer Datenbank schnell und einfach dokumentiert werden.
Wie funktioniert SchemaSpy
SchemaSpy funktioniert mit allen Datenbanken die JDBC und SQL-92 Standard unterstützen. Darunter fallen unter anderen Oracle, MySQL, DB2, SQLite, H2 und viele mehr. Als Basis für die extrahierten Informationen dient das INFORMATION_SCHEMA der im SQL-92 Standard definiert, wie RDBMS-Datenbanken die Schema-Informationen mit seinen Wörterbuchtabellen implementieren soll. Und tatsächlich implementieren die meisten RDBMS-Datenbanken Teile der Standardspezifikation so dass eine Datenbank-Analyse mit SchemaSpy möglich wird, ohne für jedes DMBS eine eigene Methode implementiert werden muss, die Daten abzufragen.
Über SchemaSpy
SchemaSpy liegt aktuell in Version 6.1 vor und kann unter http://schemaspy.org/ heruntergeladen werden. Es wird unter der LGPL-3.0 License angeboten.
Die GNU Lesser General Public License oder LGPL erlaubt den Entwicklern und Firmen das Verwenden und Einbinden von LGPL-Software in eigene Software, ohne durch ein starkes Copyleft gezwungen zu sein, den Quellcode der eigenen Software-Teile offenzulegen. Lediglich das Ändern der LGPL-Software-Teile muss Endnutzern ermöglicht werden: Deshalb die LGPL-Teile meist in Form einer dynamischen Programmbibliothek verwendet, um so die notwendige Trennung zwischen proprietären und quelloffenen LGPL-Teilen zu ermöglichen.
https://de.wikipedia.org/wiki/GNU_Lesser_General_Public_License
Die SchemaSyp Dokumentation findet man unter https://schemaspy.readthedocs.io/en/latest/.
SchemaSpy wurde ursprünglich von John Currier erstellt und verwaltet. Das Projekt später von Nils Petzäll übernommen und weiterentwickelt, da er der Meinung war, dass die Arbeit an SchemaSpy fortgesetzt und viele noch bestehende Probleme behoben werden sollten. Die letzte veröffentlichte Version von John Currier war im Jahr 2010 und Nils Petzäll hat das Projekt im Juni 2016 übernommen und SchemaSpy unter https://github.com/schemaspy/schemaspy ein neues Zuhause gegeben. Aktuell beteiligen sich an dem Projekt 25 Contributors von denen es sehr aktiv weiterentwickelt wird. (Stand heute (24.07.2021) gibt es 166 Issues und 14 Pull-Requests)
SchemaSpy ausprobiert
Die letzte Version von SchemaSpy findet man immer unter https://github.com/schemaspy/schemaspy/releases/. Aktuell ist das die Version 6.1.0 (schemaspy-6.1.0.jar). Das Jar File kann mit jedem einigermaßen aktuellen JDK oder JRE unter Windows, Linux und auf dem Max ausgeführt werden.
Ich teste es mal unter Linux mit der MySQL Datenbank. Also erst mal schemaspy-6.1.0.jar herunterladen.
wget https://github.com/schemaspy/schemaspy/releases/download/v6.1.0/schemaspy-6.1.0.jar
--2021-07-24 18:47:03-- https://github.com/schemaspy/schemaspy/releases/download/v6.1.0/schemaspy-6.1.0.jar
Auflösen des Hostnamens github.com (github.com) … 140.82.121.4
Verbindungsaufbau zu github.com (github.com)|140.82.121.4|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 302 Found
Platz: https://github-releases.githubusercontent.com/64106157/d9991e80-d9a6-11e9-8061-6e0c67971f70?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210724%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210724T164703Z&X-Amz-Expires=300&X-Amz-Signature=d57d316929e55b99cf972102b292f7277acb09b3bacbb366f741c86f6ccccc56&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=64106157&response-content-disposition=attachment%3B%20filename%3Dschemaspy-6.1.0.jar&response-content-type=application%2Foctet-stream [folgend]
--2021-07-24 18:47:03-- https://github-releases.githubusercontent.com/64106157/d9991e80-d9a6-11e9-8061-6e0c67971f70?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210724%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210724T164703Z&X-Amz-Expires=300&X-Amz-Signature=d57d316929e55b99cf972102b292f7277acb09b3bacbb366f741c86f6ccccc56&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=64106157&response-content-disposition=attachment%3B%20filename%3Dschemaspy-6.1.0.jar&response-content-type=application%2Foctet-stream
Auflösen des Hostnamens github-releases.githubusercontent.com (github-releases.githubusercontent.com) … 185.199.111.154, 185.199.109.154, 185.199.108.154, ...
Verbindungsaufbau zu github-releases.githubusercontent.com (github-releases.githubusercontent.com)|185.199.111.154|:443 … verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK
Länge: 14122568 (13M) [application/octet-stream]
Wird in »schemaspy-6.1.0.jar« gespeichert.
schemaspy-6.1.0.jar 100%[=========================================================================================>] 13,47M 11,3MB/s in 1,2s
2021-07-24 18:47:05 (11,3 MB/s) - »schemaspy-6.1.0.jar« gespeichert [14122568/14122568]
/projects/SchemaSpy ls -altr
insgesamt 13800
-rw-r--r-- 1 root root 14122568 Sep 17 2019 schemaspy-6.1.0.jar
drwxr-xr-x 35 root root 4096 Jul 24 18:46 ..
drwxr-xr-x 2 root root 4096 Jul 24 18:47 .
Auf dem Rechner ist Ubuntu 18.04 und OpenJDK 11.0.10 installiert
java --version
openjdk 11.0.10 2021-01-19
OpenJDK Runtime Environment (build 11.0.10+9-Ubuntu-0ubuntu1.18.04)
OpenJDK 64-Bit Server VM (build 11.0.10+9-Ubuntu-0ubuntu1.18.04, mixed mode, sharing)
Da Ich SchemaSpy mit einer MySQL Datenbank teste, muss ich noch den MySQL Connector/J herunterladen, der aktuell in der Version 8.0.26 im Central Repository unter https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.26/mysql-connector-java-8.0.26.jar zu finden ist.
Configuration
Alle Konfigurationsparameter können in der Befehlszeile oder über eine Konfigurationsdatei festgelegt werden. SchemaSpy findet die Konfigurationsdatei in <current-dir>/schemaspy.properties. Eine alternative Konfigurationsdatei kann mit dem Parameter java -jar schemaspy.jar -configFile path/to/config.file angegeben werden.
Eine typische Konfigurationsdatei sieht dann z.B. wie folgt aus:
# https://schemaspy.readthedocs.io/en/latest/started.html
# type of database. Run with -dbhelp for details
schemaspy.t=mssql
# optional path to alternative jdbc drivers.
schemaspy.dp=path/to/drivers
# database properties: host, port number, name user, password
schemaspy.host=server
schemaspy.port=1433
schemaspy.db=db_name
schemaspy.u=database_user
schemaspy.p=database_password
# output dir to save generated files
schemaspy.o=output
# db scheme for which generate diagrams
schemaspy.s=dbo
Nach der Konfiguration kann SchemaSpy dann aufgerufen werden und erzeugt dann bei Erfolg die folgenden Ausgaben:
/projects/SchemaSpy java -jar schemaspy-6.1.0.jar
____ _ ____
/ ___| ___| |__ ___ _ __ ___ __ _/ ___| _ __ _ _
\___ \ / __| '_ \ / _ \ '_ ` _ \ / _` \___ \| '_ \| | | |
___) | (__| | | | __/ | | | | | (_| |___) | |_) | |_| |
|____/ \___|_| |_|\___|_| |_| |_|\__,_|____/| .__/ \__, |
|_| |___/
6.1.0
SchemaSpy generates an HTML representation of a database schema's relationships.
SchemaSpy comes with ABSOLUTELY NO WARRANTY.
SchemaSpy is free software and can be redistributed under the conditions of LGPL version 3 or later.
http://www.gnu.org/licenses/
INFO - Starting Main v6.1.0 on Ubuntu-1804-bionic-64-minimal with PID 685 (/projects/SchemaSpy/schemaspy-6.1.0.jar started by root in /projects/SchemaSpy)
INFO - The following profiles are active: default
INFO - Found configuration file: schemaspy.properties
INFO - Started Main in 0.905 seconds (JVM running for 1.209)
INFO - Loaded configuration from schemaspy.properties
INFO - Starting schema analysis
INFO - Connected to MySQL - 5.7.31-0ubuntu0.18.04.1
INFO - Gathering schema details
Gathering schema details...............(0sec)
Connecting relationships...............(0sec)
Writing/graphing summary.INFO - Gathered schema details in 0 seconds
INFO - Writing/graphing summary
INFO - Graphviz rendered set to ''
........(4sec)
Writing/diagramming detailsINFO - Completed summary in 4 seconds
INFO - Writing/diagramming details
............(0sec)
Wrote relationship details of 12 tables/views to directory 'output' in 5 seconds.
View the results by opening output/index.html
INFO - Wrote table details in 0 seconds
INFO - Wrote relationship details of 12 tables/views to directory 'output' in 5 seconds.
INFO - View the results by opening output/index.html
Nach ein paar Sekunden befindet sich dann im output Verzeichnis die Dokumentation des analysierten Datenbank-Schemas. Die Ausgabe für eine WordPress Datenbank sieht dann z.B. wie folgt aus:
OK, entweder WordPress arbeitet ohne Relationen oder SchemaSpy hat die Relationen nicht extrahiert. Daher versuche ich es einfach noch mal mit einer MSSQL Datenbank bei der ich mir sicher bin, dass es viel (sehr viele) Relationen gibt auf meinem Windows 10 PC.
Wieder hat alles geklappt. Alle Tabellen Spalten und Relationen sind vorhanden (glaube ich) und wenn ich das nächste mal mit meinen Kollegen an der Datenbank arbeite, werden uns die generierten HTML Seiten sicher sehr dabei helfen, schneller durch die Tabellen zu navigieren.
Android SQLite Datenbank mit SchemaSpy analysieren
Als letztes teste ich noch mal, ob es auch möglich ist, eine SQLite Datenbank, die ich aus einer Android App exportiert habe zu analysieren. Dazu exportiere ich erst mal die SQLite Datenbank Datei mit Android Studio.
Um SchemaSpy mit einer SQLite Datenbank verbinden zu können ist der entsprechende JDBC Treiber nötig, den ich mir aus dem Central Maven Repository (https://repo1.maven.org/maven2/org/xerial/sqlite-jdbc/3.8.9.1/sqlite-jdbc-3.8.9.1.jar) herunterlade und in das SchemaSpy Verzeichnis kopiere.
Die Konfiguration ist aber ein echtes Problem und ich schaffe es leider nicht, meine nwnorthwind.db mit SchemaSpy zu analysieren. Leider finde ich keine Möglichkeit, dass SchemaSpy den SQLite Treiber läd :-(.
java -jar schemaspy-6.1.0.jar -debug
____ _ ____
/ ___| ___| |__ ___ _ __ ___ __ _/ ___| _ __ _ _
\___ \ / __| '_ \ / _ \ '_ ` _ \ / _` \___ \| '_ \| | | |
___) | (__| | | | __/ | | | | | (_| |___) | |_) | |_| |
|____/ \___|_| |_|\___|_| |_| |_|\__,_|____/| .__/ \__, |
|_| |___/
6.1.0
SchemaSpy generates an HTML representation of a database schema's relationships.
SchemaSpy comes with ABSOLUTELY NO WARRANTY.
SchemaSpy is free software and can be redistributed under the conditions of LGPL version 3 or later.
http://www.gnu.org/licenses/
INFO - Starting Main v6.1.0 on Ubuntu-1804-bionic-64-minimal with PID 10646 (/projects/SchemaSpy/nw/schemaspy-6.1.0.jar started by root in /projects/SchemaSpy/nw)
INFO - The following profiles are active: default
INFO - Found configuration file: schemaspy.properties
INFO - Started Main in 0.8 seconds (JVM running for 1.088)
DEBUG - Debug enabled
INFO - Loaded configuration from schemaspy.properties
INFO - Starting schema analysis
DEBUG - Resolving dbType: sqlite ->
schemaspy-6.1.0.jar!/BOOT-INF/classes!/org/schemaspy/types/sqlite.properties
DEBUG - DbSpecificOption name: 'db' value: 'nwnorthwind.db' description: 'path to database or :memory:'
DEBUG - Unable to find driverClass 'SQLite.JDBCDriver'
WARN - Connection Failure
org.schemaspy.input.dbms.exceptions.ConnectionFailure: Failed to connect to database URL [jdbc:sqlite:/nwnorthwind.db] Failed to create any of 'SQLite.JDBCDriver' driver from driverPath 'sqlite-jdbc-3.36.0.1.jar' with sibling jars no.
Resulting in classpath:
file:/projects/SchemaSpy/nw/sqlite-jdbc-3.36.0.1.jar
at org.schemaspy.input.dbms.DbDriverLoader.getConnection(DbDriverLoader.java:101)
at org.schemaspy.input.dbms.DbDriverLoader.getConnection(DbDriverLoader.java:75)
at org.schemaspy.input.dbms.service.SqlService.connect(SqlService.java:70)
at org.schemaspy.SchemaAnalyzer.analyze(SchemaAnalyzer.java:220)
at org.schemaspy.SchemaAnalyzer.analyze(SchemaAnalyzer.java:123)
at org.schemaspy.cli.SchemaSpyRunner.runAnalyzer(SchemaSpyRunner.java:98)
at org.schemaspy.cli.SchemaSpyRunner.run(SchemaSpyRunner.java:87)
at org.schemaspy.Main.main(Main.java:55)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
Caused by: org.schemaspy.input.dbms.exceptions.ConnectionFailure: Failed to create any of 'SQLite.JDBCDriver' driver from driverPath 'sqlite-jdbc-3.36.0.1.jar' with sibling jars no.
Resulting in classpath:
file:/projects/SchemaSpy/nw/sqlite-jdbc-3.36.0.1.jar
at org.schemaspy.input.dbms.DbDriverLoader.getDriver(DbDriverLoader.java:147)
at org.schemaspy.input.dbms.DbDriverLoader.getConnection(DbDriverLoader.java:93)
... 15 common frames omitted
UPDATE 🙂
Nach viel herumprobieren und Sourcen lesen habe ich es dann doch noch geschafft. Ich habe eine SQLite Datenbank aus einer Android App mit SchemaSpy analysiert und die Metadaten in einer HTML Dokumentation exportiert. Folgendes Kommando und Konfiguration haben endlich das gewünschte Ergebnis erzeugt.
java -jar schemaspy-6.1.0.jar -debug -cat % -s database
cat schemaspy.properties
schemaspy.t=sqlite-xerial
schemaspy.dp=sqlite-jdbc-3.36.0.1.jar
schemaspy.db=northwind.db
schemaspy.u=michael
schemaspy.o=output
Die komplette HTML Ausgabe habe ich mal unter https://northwind.schemaspy.jentsch.io/ veröffentlicht. Unter der Adresse kann man dann mal durch die Doku navigieren und sich die Tabellen, Spalten, Views, etc. ansehen.
SchemaSpy unterstützte Datenbanken
SchemaSpy unterstützt eine große Anzahl von DBMS. Die verfügbaren Datenbanktypen können mit dem Parameter -dbhelp abgefragt werden. Die Liste der integrierten Typen sieht für Version 6.1 wie folgt aus. Standardmäßig ist ora eingestellt.
$ java -jar schemaspy-6.1.0.jar -dbhelp
____ _ ____
/ ___| ___| |__ ___ _ __ ___ __ _/ ___| _ __ _ _
\___ \ / __| '_ \ / _ \ '_ ` _ \ / _` \___ \| '_ \| | | |
___) | (__| | | | __/ | | | | | (_| |___) | |_) | |_| |
|____/ \___|_| |_|\___|_| |_| |_|\__,_|____/| .__/ \__, |
|_| |___/
6.1.0
SchemaSpy generates an HTML representation of a database schema's relationships.
SchemaSpy comes with ABSOLUTELY NO WARRANTY.
SchemaSpy is free software and can be redistributed under the conditions of LGPL version 3 or later.
http://www.gnu.org/licenses/
INFO - Starting Main v6.1.0 on LAPTOP23 with PID 27928 (C:\Tools\SchemaSpy\schemaspy-6.1.0.jar started by jentsch in C:\Tools\SchemaSpy)
INFO - The following profiles are active: default
INFO - Found configuration file: schemaspy.properties
INFO - Started Main in 1.605 seconds (JVM running for 2.605)
INFO - Built-in database types and their required connection parameters:
INFO - IBM DB2 with the 'App' Driver (-t db2)
INFO - -db database name
INFO - IBM DB2 for i (former as400) driver (-t db2i)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database SID as known on host
INFO - IBM DB2 with the Type 4 'Net' Driver (-t db2net)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - IBM DB2 for z/OS with the 'App' Driver (-t db2zos)
INFO - -db database name
INFO - IBM DB2/zos with the Type 4 'Net' Driver (-t db2zosnet)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - Derby Embedded Server (-t derby)
INFO - -db path to database
INFO - Derby Network Server (-t derbynet)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - Firebird (-t firebird)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - Force (-t force)
INFO - H2 Server (-t h2)
INFO - -db database name
INFO - Hive (-t hive)
INFO - -host database host
INFO - -port database port
INFO - -db database name
INFO - Hive with keytab support (-t hive-kerberos-driverwrapper)
INFO - -host database host
INFO - -port database port
INFO - -db database name
INFO - -principal the principal to use
INFO - Hive with keytab support configured for service discovery using zookeeper (-t hive-kerberos-driverwrapper-zookeeper)
INFO - -host database host
INFO - -port database port
INFO - -db database name
INFO - HSQLDB Server (-t hsqldb)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - Imapla (-t impala)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - InformixSQL (-t informix)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - -server database server
INFO - Microsoft SQL Server JTDS (-t jtds)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - MariaDB (-t mariadb)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - MaxDB (-t maxdb)
INFO - -host Name of the computer on which the database instance is running
INFO - -db Name of database instance
INFO - Microsoft SQL Server (-t mssql)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - jTDS JDBC Driver for Microsoft SQL 2000/2005 Server (-t mssql-jtds)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - jTDS JDBC Driver for Microsoft SQL 2000/2005 Server (-t mssql-jtds-instance)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - -instance Named instance to connect to
INFO - Microsoft SQL Server 2005+ (-t mssql05)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - jTDS JDBC Driver for Microsoft SQL 2000/2005 Server (-t mssql05-jtds)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - jTDS JDBC Driver for Microsoft SQL 2000/2005 Server (-t mssql05-jtds-instance)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - -instance Named instance to connect to
INFO - Microsoft SQL Server 2008+ (-t mssql08)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - jTDS JDBC Driver for Microsoft SQL Server 2008+ (-t mssql08-jtds)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - jTDS JDBC Driver for Microsoft SQL Server 2008+ (-t mssql08-jtds-instance)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - -instance Named instance to connect to
INFO - MySQL (-t mysql)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - MySQL (-t mysql-socket)
INFO - -host host where database resides with optional port
INFO - -db database name
INFO - -socketFactory ClassName of socket factory which must be in your classpath
INFO - -socket Path To Socket
INFO - Netezza (-t netezza)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db
INFO - Oracle with OCI8 Driver (-t ora)
INFO - -db database name (from TNSNAMES.ORA)
INFO - Oracle with Thin Driver (-t orathin)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database SID as known on host
INFO - Oracle with Thin Driver (-t orathin-service)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database (service) as known on host
INFO - PostgreSQL (-t pgsql)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - PostgreSQL (-t pgsql11)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - Amazon redshift (-t redshift)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - Snowflake (-t snowflake)
INFO - -account hostname before 'snowflakecomputing.com'
INFO - -role Snowflake user role
INFO - -warehouse Snowflake warehouse
INFO - -db
INFO - SQLite (-t sqlite)
INFO - -db path to database or :memory:
INFO - SQLite (-t sqlite-xerial)
INFO - -db path to database or :memory:
INFO - Sybase Server (jdbc3) (-t sybase)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - Sybase Server (jdbc2) (-t sybase2)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - Sybase Server (jdbc4) (-t sybase3)
INFO - -host database server host
INFO - -port database port on host
INFO - -db database name
INFO - Teradata (-t teradata)
INFO - -db database name
INFO - -s ?????
INFO - -port ?????
INFO - DB2 UDB Type 4 Driver (-t udbt4)
INFO - -host host of database, may contain port
INFO - -port optional port if not default
INFO - -db database name
INFO - You can use your own database types by specifying the filespec of a .properties file with -t.
INFO - Grab one out of /C:/Tools/SchemaSpy/schemaspy-6.1.0.jar and modify it to suit your needs.
Fazit
SchemaSpy ist ein ein tolles Datenbank Werkzeug zum dokumentieren von Datenbank-Schemata. Ich werde das Tool in Zukunft auf jeden Fall immer auf dem PC haben, wenn ich mit einer Datenbank arbeite und ich würde es auch jederzeit weiterempfehlen.