SchemaSpy code home
Clone or download
npetzall Merge pull request #435 from karlkauc/master
added selectRoutinesSql and selectRoutineParametersSql for Oracle DB
Latest commit 9a607fa Oct 15, 2018
Failed to load latest commit information.
.mvn/wrapper Update to Maven 3.5.2 Nov 1, 2017
docker Added open-sans instead of downloading from fontsquirrel. Mar 6, 2018
docs Merge pull request #378 from npetzall/docs_news Oct 1, 2018
ext-lib Added Oracle test using a fork of testcontainers. May 31, 2017
src added selectRoutinesSql and selectRoutineParametersSql for Oracle DB Oct 15, 2018
.dockerignore Added open-sans instead of downloading from fontsquirrel. Mar 6, 2018
.gitignore Test to verify override feature Sep 24, 2018
.travis.yml Added releases to deployment Aug 5, 2018 Create Nov 29, 2017
COPYING Adding copyright and license notice May 14, 2018
COPYING.LESSER Adding copyright and license notice May 14, 2018
Dockerfile Added open-sans instead of downloading from fontsquirrel. Mar 6, 2018 Update Jul 18, 2018 Snapshot download link fix Aug 13, 2018 Added Oracle test using a fork of testcontainers. May 31, 2017
bower.json Adding copyright and license notice May 14, 2018 Switch to SLF4J Dec 12, 2017 Change docker deploy to run on all branches Aug 5, 2018
library.ddl inital commit Jun 10, 2016
mvnw add maven wrapper to the project, created with… Jan 9, 2017
mvnw.cmd added @REM to mvnw to avoid incorrect comment '#', made DotTest only … Dec 6, 2017
pom.xml Moving graphviz info from dot-file Oct 9, 2018
schemaspy.properties_template schemaspy properties template Mar 3, 2017 set sonar projectKey Jun 9, 2018 Typo Jan 18, 2018

Schema Spy -

Build Status Documentation Status Quality Gate Coverage Gitter Docker Pulls

Please support a project by simply putting a Github star. Share this library with friends on Twitter and everywhere else you can.

If you notice bug or have something not working please report an issue, we'll try to fix it as soon as possible. More documentation and features expected to be soon. Feel free to contribute.

This is a new code repository for SchemaSpy tool initially created and maintained by John Currier. I'm personally believe that work on SchemaSpy should be continued and a lot of still existing issue should be resolved. Last released version of the SchemaSpy was two years ago, and I have plan to change this.

I would like to say thank you to John Currier for invent this database entity-relationship (ER) diagram generator.

In next days I have plan to release new SchemaSpy version and concentrate to refactor and improve the solution. In new SchemaSpy 6.0 version you will find:

  1. Absolutely new amazing look and feel generated content

  2. You can very easily change SchemaSpy theme because all of the logic was moved outside the Java code

  3. Speed of database generation was little improve

  4. Generation of the html pages was changed from plain concatenaited text in Java code to Moustache engine

  5. In database comments you can use Markdown language what should improve user experience from reading your database documentation

  6. You can also easily create in database comments links to the tables and columns

More detail will came in next days plus I have in plan to start working on all not resolved issues.


If you need more info about how to use or install SchemaSpy please read the last documentation at Read the Docs.


Sample Output

alt tag

SchemaSpy v6.0.0

Release Notes


Latest Build

To verify fixes and new features you can download our latest build.



We publish snapshot and release to



Schema or Catalog name can't be null

This means that Schema or Catalog information could not be extracted from connection.
I this case you need to add options -s [schemaName] or -cat [catalogName]
In most cases for catalog you can use -cat %
In mysql you can use same as -db



There have been lots of issue with graphviz and OSX
So install using brew brew install graphviz --with-librsvg --with-pango Depending on OSX version
Older than High Sierra, add -renderer :quartz to the commandline
High Sierra or newer, add -renderer :cairo to the commandline

Bugs and Issues

Have a bug or an issue with SchemaSpy? Open a new issue here on GitHub.


Are very welcome! And remember, contribution is not only PRs and code, but any help with docs or helping other developers to solve issues are very appreciated! Thanks in advance!

Build Instructions


SchemaSpy is built using maven and we utilize the maven wrapper.
Windows mvnw.cmd package
Linux ./mvnw package
The resulting application can be found in target


You need your own SonarQube:
Windows mvnw.cmd -P sonar clean verify$(boot2docker ip):9000 -Dsonar.jdbc.url="jdbc:h2:tcp://$(boot2docker ip)/sonar"
Linux ./mvnw -P sonar clean verify

Watch results at:
Linux http://localhost:9000
Windows http://$(boot2docker ip):9000


You'll need sphinx installed
Navigate into docs
Windows make.bat html
Linux make html
The resulting documentation can be found in docs/build/html


SchemaSpy is maintained by:

with SchemaSpy community support please contact with us if you have some question or proposition.

Team Tools

alt tag

SchemaSpy Team would like inform that JetBrains is helping by provided IDE to develop the application. Thanks to its support program for an Open Source projects !

alt tag

SchemaSpy project is using SonarCloud for code quality. Thanks to SonarQube Team for free analysis solution for open source projects.


SchemaSpy is distributed under LGPL version 3 or later, see COPYING.LESSER(LGPL) and COPYING(GPL).
LGPLv3 is additional permissions on top of GPLv3.