SchemaCrawler is an open source, cross-platform and freely distributed Java API (Application Programming Interface) that has been designed from the ground up to help application developers work easily with database metadata. It is also a database schema documentation utility and database schema comprehension and discovery tool.
Supports any JDBC powered database
Another interesting feature of the SchemaCrawler software is that it supports any JDBC powered database. However, for your convenience, SchemaCrawler includes drivers for some of the most common relational database management systems.
I want to see a usage example!
If you want to see a usage example of how the SchemaCrawler software works, please take a look at the example below.
final SchemaCrawlerOptions options = new SchemaCrawlerOptions();
// Set what details are required in the schema - this affects the
// time taken to crawl the schema
final Database database = SchemaCrawlerUtility.getDatabase(connection, options);
for (final Schema schema: database.getSchemas())
for (final Table table: database.getTables(schema))
System.out.print("o--> " + table);
for (final Column column: table.getColumns())
System.out.println(" o--> " + column);
Under the hood
Taking a look under the hood of the SchemaCrawler project, we can notice that it has been written entirely in the Java programming language. We have successfully tested the software with computers supporting either of the 64 or 32-bit instruction set architectures.
Runs on Linux, BSD, Windows and Mac
Being written in Java, SchemaCrawler is a cross-platform software that works with any computer operating system where the Java Runtime Environment (JRE) is available, including GNU/Linux, BSD, Microsoft Windows, and Mac OS X.