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.
Text formatting options are now honored in GraphViz dot output.