SchemaCrawler

Release History

Version Date Description
7.5 2009-11-25
7.4 2009-09-24
7.3.1 2009-09-24
7.3 2009-09-19
7.2 2009-08-21
7.1 2009-08-12
7.0 2009-07-10
6.4 2009-05-10
6.3 2009-05-08
6.2 2009-04-08
6.1 2009-03-29
6.0.2 2008-11-30
6.0.1 2008-10-30
6.0 2008-10-16
5.5 2008-02-28
5.4 2007-12-15
5.3 2007-11-15
5.2 2007-10-30
5.1 2007-08-05
5.0 2007-06-25
4.2 2007-01-07
4.1 2006-12-07
4.0 2006-12-03
3.8 2006-09-26
3.7 2006-06-12
3.6 2006-03-28
3.5 2006-03-06
3.4 2006-01-16
3.3 2005-11-03

Release 7.5 - 2009-11-25

Type Changes By
add Added a SchemaCrawlerInfo object to the database metadata, to provide the SchemaCrawler version number, and Java system properties. Sualeh Fatehi
update Updates to all bundled database drivers. Sualeh Fatehi
fix Bug-fix for obtaining MySQL foreign keys. Sualeh Fatehi
add Added ability to script the database, using JavaScript. A live connection is provided to the JavaScript context for this purpose. Sualeh Fatehi
update Removed command line switch, -schemapattern, and the schemapattern option. Use the -schemas command line switch instead. Sualeh Fatehi
update Added sections to SchemaCrawler output, to make it more readable. Sualeh Fatehi
update Tables sort is done using graph algorithms, and includes cycle checks. Sualeh Fatehi

Release 7.4 - 2009-09-24

Type Changes By
add Added new pre-packaged SchemaCrawler for Oracle. Sualeh Fatehi
fix Fixed issue with index sort order of primary key columns. Sualeh Fatehi
update Updated website with new front page. Sualeh Fatehi

Release 7.3.1 - 2009-09-24

Type Changes By
fix Enhancement to the JavaSqlType class, to contain the SQL type group. New lookup by data-type name added to JavaSqlTypesUtility. Sualeh Fatehi
fix Removed method, getTypeClass(), from ColumnDataType. Sualeh Fatehi
fix Removed deprecated methods for grouping SQL data types (such as isReal()) from the ColumnDataType class. Sualeh Fatehi

Release 7.3 - 2009-09-19

Type Changes By
add Added support for mapping of SQL data type to Java classes. This includes the new JavaSqlType class, and the JavaSqlTypesUtility. A new method, getTypeClass(), has been added to ColumnDataType. Sualeh Fatehi
add Added SchemaCrawler for Apache Derby, that is packaged for Apache Derby. Sualeh Fatehi

Release 7.2 - 2009-08-21

Type Changes By
update Better modeling of privileges and grants. Sualeh Fatehi
fix Bug fix for obtaining indexes and foreign keys with the Oracle driver. Sualeh Fatehi
add Added natural sort order for tables, based on the foreign keys, and corresponding new configuration option, and command-line switch, -sorttables. Also added new API methods to get child and parent tables, based on the foreign keys. Sualeh Fatehi
fix Handle null schemas for databases that do not support schemas, such as MySQL. Sualeh Fatehi
fix Allow data dumps when tables contain binary objects, by fixing the SELECT sort order. Sualeh Fatehi

Release 7.1 - 2009-08-12

Type Changes By
update Better log messages, including for database connections, and inclusion of table and columns in the output. Sualeh Fatehi
update More efficient use of database connections, including a change to the Executable.execute method to take a database connection, rather than a data-source. Sualeh Fatehi
fix Ensure that the pooled connection is closed, rather than the original database connection. This allows SchemaCrawler to play well with pooled connections. Sualeh Fatehi

Release 7.0 - 2009-07-10

Type Changes By
update Major restructuring of the API, with the introduction of a Database object that contains all of the database metadata, and containing catalog and schema objects. Sualeh Fatehi
update To allow for more control on table selection, the -tables command line parameter matches to the fully qualified table name, CATALOG.SCHEMA.TABLENAME. Similarly for the -procedures command line parameter. Sualeh Fatehi

Release 6.4 - 2009-05-10

Type Changes By
add New pre-packaged distribution, SchemaCrawler for SQLite. Sualeh Fatehi
update Enhanced algorithm for finding weak associations. Sualeh Fatehi

Release 6.3 - 2009-05-08

Type Changes By
add If no commands are specified, defaults to standard_schema, which provides the most commonly needed details of the schema. Sualeh Fatehi
update SchemaCrawler Grep functionality is built into the SchemaCrawler options, and the SchemaCrawler command-line. This means that all of the SchemaCrawler commands, including graphing, will use filtering and grep options. Sualeh Fatehi
update SchemaCrawler command line option help has been re-written. New command-line options are available. Sualeh Fatehi
add SchemaCrawler can produce Graphviz DOT files to generate schema diagrams. Sualeh Fatehi

Release 6.2 - 2009-04-08

Type Changes By
add A new feature to infer weak associations between tables, even if there is no foreign key. Ruby on Rails table schemes are supported, as well as other simple relationships. Table name prefixes are automatically detected. Sualeh Fatehi
add Database diagram support using Graphviz. Primary keys are indicated in a darker color than other columns. Foreign keys are indicated with arrow connectors. Weak associations between tables are shown in dashed lines. Multiple output formats are supported. Support for Jung is dropped. Sualeh Fatehi

Release 6.1 - 2009-03-29

Type Changes By
add Better reporting of ascending and descending index columns. This is an API change. Sualeh Fatehi
add Better grep options, to allow searching through both tables and stored procedures. Sualeh Fatehi
fix Grep options default to excluding stored procedures. Sualeh Fatehi
fix Minor bug fixes for Sybase, including generating warnings when obtaining table column privileges, instead of failing. Sualeh Fatehi
update New Windows script file for locating Java, and launching SchemaCrawler. Sualeh Fatehi
update Reorganization of distribution, so that only a single SchemaCrawler jar file is distributed in all distributions. License distribution is also reorganized. Sualeh Fatehi

Release 6.0.2 - 2008-11-30

Type Changes By
fix Minor bug fixes for MySQL, where the schema name was being reported as null, causing an exception. Sualeh Fatehi

Release 6.0.1 - 2008-10-30

Type Changes By
fix Minor bug fixes for Oracle, where the data-type was a short instead of an integer. Sualeh Fatehi

Release 6.0 - 2008-10-16

Type Changes By
fix Changed the API so that there is a separation of concerns - the SchemaInfoLevel should be an option, not a CrawlHandler property. Sualeh Fatehi
add Changed the API so the top level object is a catalog, which contains schemas. This means that there is full support for multiple schemas. Sualeh Fatehi
add Added support for JavaScript scripting with J2SE 6 and above. Sualeh Fatehi

Release 5.5 - 2008-02-28

Type Changes By
fix Fixed bug that always reported an index as unique. Sualeh Fatehi
fix Fixed bug with primary key columns. Sualeh Fatehi
add SchemaCrawler for Microsoft SQL Server to show procedures and triggers. Sualeh Fatehi
add SchemaCrawler distribution for any database. Sualeh Fatehi

Release 5.4 - 2007-12-15

Type Changes By
add Added new command line switch, -schemapattern, for specifying schema patterns when a connection is specified from the command line. Sualeh Fatehi
add Added object attributes automatically, from unused columns in the metadata calls. Nothing goes to waste. Sualeh Fatehi
add Added JDBC driver metadata, including driver properties, and separated those from the database system metadata. Sualeh Fatehi

Release 5.3 - 2007-11-15

Type Changes By
fix Made sure that all relevant license files are getting delivered. Sualeh Fatehi
fix Fixed bug in accessing foreign key update and delete rules on Oracle. Sualeh Fatehi
fix Fixed equals comparison on all schema objects, and added a unit test for equals. Sualeh Fatehi
add Added an easier way to access foreign keys from the foreign key column itself Use isPartOfForeignKey(), and getReferencedColumn() on the Column class. Sualeh Fatehi
add Externalized the wrapper for java.sql.Types into a new public class, schemacrawler.schema.SqlDataType. Sualeh Fatehi
add Added the ability to get result-set metadata. Sualeh Fatehi
add Changed schema info level from an enum into a class that can be used to specify details on what aspects of the schema need to be retrieved. Sualeh Fatehi

Release 5.2 - 2007-10-30

Type Changes By
add A significant re-write of the internal command processing code. Sualeh Fatehi
add Spring framework support for all of SchemaCrawler functionality, including integrations and grep. Sualeh Fatehi
add New example for grep. Sualeh Fatehi
add New example for using the Spring framework with SchemaCrawler. Sualeh Fatehi
fix Pre-packaged releases do not load config file, even if available. Sualeh Fatehi
fix Fixed Unix shell script for PostgreSQL. Sualeh Fatehi

Release 5.1 - 2007-08-05

Type Changes By
add Simplified examples. Sualeh Fatehi
add Executable for SchemaCrawler for Microsoft SQL Server and MySQL. Sualeh Fatehi
add Commonly available SchemaCrawler command line argument for setting the log level. Sualeh Fatehi

Release 5.0 - 2007-06-25

Type Changes By
fix API changed to use Java 5 constructs. Tested with Java 6. API is no longer Java 1.4 compatible. Sualeh Fatehi
add Started SchemaCrawler Grep for MS SQL Server. Sualeh Fatehi
fix Fixed java.lang.AbstractMethodError with Java 6. Sualeh Fatehi

Release 4.2 - 2007-01-07

Type Changes By
fix Fixed null pointer exception with DB2. Sualeh Fatehi
fix Fixed error message on a bad command line. Added a general -help option. Sualeh Fatehi
add Added new schema grep functionality, that can search for tables and columns usng regular expressions. Sualeh Fatehi
add Added new example for setting options programatically. Sualeh Fatehi
add Added documentation for provding database connection options directly on the command line. Sualeh Fatehi
update Updated ant task to optionally take database connection options as arguments, instead of from the configuration file. Sualeh Fatehi

Release 4.1 - 2006-12-07

Type Changes By
fix Fixed bug [ 1610140 ] Sorting doesn't work. Sualeh Fatehi
fix Fixed output of standard data types. Also changed the configuration option name. Sualeh Fatehi
fix Fixed column output for tables and procedures that contain an underscore in their name. JDBC matches the underscore to a wildcard character. Sualeh Fatehi

Release 4.0 - 2006-12-03

Type Changes By
add Added support for SQL standard INFORMATION_SCHEMA views. If equivalent SQL for the standard INFORMATION_SCHEMA view is specified, it is used to provide additional schema information such as check constraints, triggers, and view and procedure definitions. Sualeh Fatehi
add Added support for get index information views. This SQL will be used in preference to the getIndexInfo JDBC method to allow for databases and drivers that do not support getIndexInfo due to permissioning issues. Sualeh Fatehi
fix Better output format for HTML and text. Sualeh Fatehi
fix Better handling of output file resources. Sualeh Fatehi
fix Better handling of database connection resources. Sualeh Fatehi
fix More information on the website, and better website usability. Sualeh Fatehi

Release 3.8 - 2006-09-26

Type Changes By
add Added Maven 2.0 plugin for generation of schema reports Sualeh Fatehi
add Added command line option to provide database connection information Sualeh Fatehi
fix Worked around a bug in the Oracle driver as described in http://issues.apache.org/jira/browse/DDLUTILS-29?page=all Sualeh Fatehi

Release 3.7 - 2006-06-12

Type Changes By
add Added retrieval of database properties Sualeh Fatehi
add Added retrieval of column data types, both system datatypes and UDTs Sualeh Fatehi
add Added unit tests to ensure that the XHTML output is valid XML Sualeh Fatehi
fix Fixed bug with merge rows option Sualeh Fatehi
fix Fixed bug with appending output when multiple runs of SchemaCrawler append to the same output file Sualeh Fatehi
fix Fixed SQLException with Oracle Database 10g Express Edition driver on outputting views Sualeh Fatehi
add Added XStream integration for XML serialization and deserialization Sualeh Fatehi
add Added new command, maximum_schema, that can give all possible details of the schema Sualeh Fatehi
add Obtain database system properties when the maximum schema command is used Sualeh Fatehi
add Added integrations with FreeMarker for templated output Sualeh Fatehi
remove Removed Betwixt integration, since the required functionality is provided by XStream Sualeh Fatehi

Release 3.6 - 2006-03-28

Type Changes By
add Added integrations with Velocity for templated output, and with JUNG for JPEG graph generation Sualeh Fatehi
add Added new examples to demonstrate Velocity templating, and JUNG graphs Sualeh Fatehi
add New command line option to specify the output file name Sualeh Fatehi

Release 3.5 - 2006-03-06

Type Changes By
add Added ability to retrieve column and table privileges Sualeh Fatehi
add Added Betwixt mappings for XML serialization and de-serialization Sualeh Fatehi
add Added Unix shell scripts for examples Sualeh Fatehi
fix Fixed bug with the ordering of primary key and index columns Sualeh Fatehi
update Changed API - ColumnInfoLevel is called SchemaInfoLevel Sualeh Fatehi
update Moved source repository to Subversion Sualeh Fatehi

Release 3.4 - 2006-01-16

Type Changes By
fix Correction of spelling of the "sort_alphabetically" option names Sualeh Fatehi
update Refactoring of inhertance hierarchy of database objects, resulting in fewer equals, hashCode and compareTo implementations Sualeh Fatehi
update Better HTML formatting for counts Sualeh Fatehi
fix Dirty reads are performed for counts and other operations Sualeh Fatehi
fix Sets the default value for table columns Sualeh Fatehi
update Javadoc clean-up Sualeh Fatehi
update Findbugs, checkstyle, and PMD code smells clean-up Sualeh Fatehi

Release 3.3 - 2005-11-03

Type Changes By
add The ability to include as well as exclude tables using regular expressions. Sualeh Fatehi
add The ability to include as well as exclude columns using regular expressions. Sualeh Fatehi
add A new substitution variable, ${columns}, for use in database queries that iterate over tables. Sualeh Fatehi
add New examples for executing database-specific and user-defined queries have been added. Sualeh Fatehi
add Better output formatting for HTML dumps, and counts in text format. Sualeh Fatehi
add New website. Sualeh Fatehi
fix Worked around an issue with the Sybase driver, that provides primary keys in a different order than most other drivers. Sualeh Fatehi
fix Improved logging, and made the log level in the configuration really work. Sualeh Fatehi