SchemaCrawler is a platform (OS and database) independent command line tool to output your database schema and data in a readable form. The output is designed to be diff-ed with previous versions of your database schema. SchemaCrawler is also an API that improves on standard JDBC metadata.
New features include the ability to get result-set metadata. The schema info level is no longer an enumeration, but a class that is used to specify details on what aspects of the schema need to be retrieved. There is now an easier way to access foreign keys from the foreign key column itself, via isPartOfForeignKey(), and getReferencedColumn() on the Column class. Bug fixes were made to delivering all relevant license files, the way foreign key update and delete rules on Oracle are reported, and the "equals" comparison on all schema objects.
URL: SchemaCrawler - About