/schemaspy

SchemaSpy code home

Primary LanguageHTMLGNU Lesser General Public License v3.0LGPL-3.0

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 personally believe that work on SchemaSpy should be continued, and a lot of still existing issues should be resolved. Last released version of the SchemaSpy was in 2010, and I have a plan to change this.

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

My plan is to release new SchemaSpy version and concentrate on refactoring and improving it.

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 improved a little

  4. Generation of the html pages was changed from plain concatenated 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 plan to start working on all not resolved issues.

Documentation

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

Documentation

Sample Output

alt tag

SchemaSpy v6.1.0

Release Notes

Download

Latest Build

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

schemaspy@latest

Docker

We publish snapshot and release to hub.docker.io

FAQ

General

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

OSX

Graphviz

There have been lots of issue with graphviz and OSX
So install using brew brew install graphviz --with-librsvg --with-pango
If you already have graphviz installed you need to uninstall and then install

brew uninstall graphviz
brew install graphviz --with-pango --with-librsvg

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.

Contribution

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

Application

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

Analyzing

You need your own SonarQube:
https://hub.docker.com/_/sonarqube/
Windows mvnw.cmd -P sonar clean verify -Dsonar.host.url=http://$(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

Documentation

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

Maintained

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.

License

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

image