SchemaCrawler is a Java API which makes working with database metadata as easy as working with ordinary Java objects. It is also a database schema discovery and comprehension and schema documentation tool. You can search for database schema objects using regular expressions, output the schema and data in a readable text format, and find potential design issues with lint . The output is designed to be diff-ed against other database schemas. SchemaCrawler supports almost any database which has a JDBC driver, but for convenience is bundled with drivers for some commonly-used RDBMS systems. SchemaCrawler works with any operating system which supports Java.
There is a new -portablenames command line option to allow for easy comparison between databases by hiding foreign key names, constraint names, trigger names, index, and primary key names, and not showing the fully-qualified table name. Diagram generation on Linux works even when no GraphViz options are supplied. Trigger names show in the JSON output by default. A new configuration variable, schemacrawler.format.hide_trigger_names, suppresses trigger names in all output formats