SchemaSpy

Introduction

Do you hate starting on a new project and having to try to figure out someone else's idea of a database? Or are you in QA and the developers expect you to understand all the relationships in their schema? If so then this tool's for you.

SchemaSpy is a Java-based tool (requires Java 5 or higher) that analyzes the metadata of a schema in a database and generates a visual representation of it in a browser-displayable format. It lets you click through the hierarchy of database tables via child and parent table relationships as represented by both HTML links and entity-relationship diagrams. It's also designed to help resolve the obtuse errors that a database sometimes gives related to failures due to constraints.

Usage

Compute Systems Invocation Version(s)
Red Hat Linux (64-bit) % java -jar /util/SchemaSpy/schemaSpy_5.0.0.jar 5.0.0 (default)

Notes

  1. Sample invocation:
    
    % /util/bin/java -jar /util/SchemaSpy/schemaSpy_5.0.0.jar -o /tmp/foo -t mysql -u **** -p **** -host **** -db **** -dp /util/SchemaSpy/mysql-connector-java-5.1.36/mysql-connector-java-5.1.36-bin.jar
    Using database properties:
      [/util/SchemaSpy/schemaSpy_5.0.0.jar]/net/sourceforge/schemaspy/dbTypes/mysql.properties
    Gathering schema details..........................(1sec)
    Writing/graphing summary..............(1sec)
    Writing/diagramming details.......................(4sec)
    Wrote relationship details of 23 tables/views to directory '/tmp/foo' in 7 seconds.
    View the results by opening /tmp/foo/index.html
    
    

References

  1. http://schemaspy.sourceforge.net/