| 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 |
| Type | Changes | By |
|---|---|---|
![]() |
Added a SchemaCrawlerInfo object to the database metadata, to provide the SchemaCrawler version number, and Java system properties. | Sualeh Fatehi |
![]() |
Updates to all bundled database drivers. | Sualeh Fatehi |
![]() |
Bug-fix for obtaining MySQL foreign keys. | Sualeh Fatehi |
![]() |
Added ability to script the database, using JavaScript. A live connection is provided to the JavaScript context for this purpose. | Sualeh Fatehi |
![]() |
Removed command line switch, -schemapattern, and the schemapattern option. Use the -schemas command line switch instead. | Sualeh Fatehi |
![]() |
Added sections to SchemaCrawler output, to make it more readable. | Sualeh Fatehi |
![]() |
Tables sort is done using graph algorithms, and includes cycle checks. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
Added new pre-packaged SchemaCrawler for Oracle. | Sualeh Fatehi |
![]() |
Fixed issue with index sort order of primary key columns. | Sualeh Fatehi |
![]() |
Updated website with new front page. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
Enhancement to the JavaSqlType class, to contain the SQL type group. New lookup by data-type name added to JavaSqlTypesUtility. | Sualeh Fatehi |
![]() |
Removed method, getTypeClass(), from ColumnDataType. | Sualeh Fatehi |
![]() |
Removed deprecated methods for grouping SQL data types (such as isReal()) from the ColumnDataType class. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
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 |
![]() |
Added SchemaCrawler for Apache Derby, that is packaged for Apache Derby. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
Better modeling of privileges and grants. | Sualeh Fatehi |
![]() |
Bug fix for obtaining indexes and foreign keys with the Oracle driver. | Sualeh Fatehi |
![]() |
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 |
![]() |
Handle null schemas for databases that do not support schemas, such as MySQL. | Sualeh Fatehi |
![]() |
Allow data dumps when tables contain binary objects, by fixing the SELECT sort order. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
Better log messages, including for database connections, and inclusion of table and columns in the output. | Sualeh Fatehi |
![]() |
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 |
![]() |
Ensure that the pooled connection is closed, rather than the original database connection. This allows SchemaCrawler to play well with pooled connections. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
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 |
![]() |
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 |
| Type | Changes | By |
|---|---|---|
![]() |
New pre-packaged distribution, SchemaCrawler for SQLite. | Sualeh Fatehi |
![]() |
Enhanced algorithm for finding weak associations. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
If no commands are specified, defaults to standard_schema, which provides the most commonly needed details of the schema. | Sualeh Fatehi |
![]() |
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 |
![]() |
SchemaCrawler command line option help has been re-written. New command-line options are available. | Sualeh Fatehi |
![]() |
SchemaCrawler can produce Graphviz DOT files to generate schema diagrams. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
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 |
![]() |
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 |
| Type | Changes | By |
|---|---|---|
![]() |
Better reporting of ascending and descending index columns. This is an API change. | Sualeh Fatehi |
![]() |
Better grep options, to allow searching through both tables and stored procedures. | Sualeh Fatehi |
![]() |
Grep options default to excluding stored procedures. | Sualeh Fatehi |
![]() |
Minor bug fixes for Sybase, including generating warnings when obtaining table column privileges, instead of failing. | Sualeh Fatehi |
![]() |
New Windows script file for locating Java, and launching SchemaCrawler. | Sualeh Fatehi |
![]() |
Reorganization of distribution, so that only a single SchemaCrawler jar file is distributed in all distributions. License distribution is also reorganized. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
Minor bug fixes for MySQL, where the schema name was being reported as null, causing an exception. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
Minor bug fixes for Oracle, where the data-type was a short instead of an integer. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
Changed the API so that there is a separation of concerns - the SchemaInfoLevel should be an option, not a CrawlHandler property. | Sualeh Fatehi |
![]() |
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 |
![]() |
Added support for JavaScript scripting with J2SE 6 and above. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
Fixed bug that always reported an index as unique. | Sualeh Fatehi |
![]() |
Fixed bug with primary key columns. | Sualeh Fatehi |
![]() |
SchemaCrawler for Microsoft SQL Server to show procedures and triggers. | Sualeh Fatehi |
![]() |
SchemaCrawler distribution for any database. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
Added new command line switch, -schemapattern, for specifying schema patterns when a connection is specified from the command line. | Sualeh Fatehi |
![]() |
Added object attributes automatically, from unused columns in the metadata calls. Nothing goes to waste. | Sualeh Fatehi |
![]() |
Added JDBC driver metadata, including driver properties, and separated those from the database system metadata. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
Made sure that all relevant license files are getting delivered. | Sualeh Fatehi |
![]() |
Fixed bug in accessing foreign key update and delete rules on Oracle. | Sualeh Fatehi |
![]() |
Fixed equals comparison on all schema objects, and added a unit test for equals. | Sualeh Fatehi |
![]() |
Added an easier way to access foreign keys from the foreign key column itself Use isPartOfForeignKey(), and getReferencedColumn() on the Column class. | Sualeh Fatehi |
![]() |
Externalized the wrapper for java.sql.Types into a new public class, schemacrawler.schema.SqlDataType. | Sualeh Fatehi |
![]() |
Added the ability to get result-set metadata. | Sualeh Fatehi |
![]() |
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 |
| Type | Changes | By |
|---|---|---|
![]() |
A significant re-write of the internal command processing code. | Sualeh Fatehi |
![]() |
Spring framework support for all of SchemaCrawler functionality, including integrations and grep. | Sualeh Fatehi |
![]() |
New example for grep. | Sualeh Fatehi |
![]() |
New example for using the Spring framework with SchemaCrawler. | Sualeh Fatehi |
![]() |
Pre-packaged releases do not load config file, even if available. | Sualeh Fatehi |
![]() |
Fixed Unix shell script for PostgreSQL. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
Simplified examples. | Sualeh Fatehi |
![]() |
Executable for SchemaCrawler for Microsoft SQL Server and MySQL. | Sualeh Fatehi |
![]() |
Commonly available SchemaCrawler command line argument for setting the log level. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
API changed to use Java 5 constructs. Tested with Java 6. API is no longer Java 1.4 compatible. | Sualeh Fatehi |
![]() |
Started SchemaCrawler Grep for MS SQL Server. | Sualeh Fatehi |
![]() |
Fixed java.lang.AbstractMethodError with Java 6. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
Fixed null pointer exception with DB2. | Sualeh Fatehi |
![]() |
Fixed error message on a bad command line. Added a general -help option. | Sualeh Fatehi |
![]() |
Added new schema grep functionality, that can search for tables and columns usng regular expressions. | Sualeh Fatehi |
![]() |
Added new example for setting options programatically. | Sualeh Fatehi |
![]() |
Added documentation for provding database connection options directly on the command line. | Sualeh Fatehi |
![]() |
Updated ant task to optionally take database connection options as arguments, instead of from the configuration file. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
Fixed bug [ 1610140 ] Sorting doesn't work. | Sualeh Fatehi |
![]() |
Fixed output of standard data types. Also changed the configuration option name. | Sualeh Fatehi |
![]() |
Fixed column output for tables and procedures that contain an underscore in their name. JDBC matches the underscore to a wildcard character. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
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 |
![]() |
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 |
![]() |
Better output format for HTML and text. | Sualeh Fatehi |
![]() |
Better handling of output file resources. | Sualeh Fatehi |
![]() |
Better handling of database connection resources. | Sualeh Fatehi |
![]() |
More information on the website, and better website usability. | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
Added Maven 2.0 plugin for generation of schema reports | Sualeh Fatehi |
![]() |
Added command line option to provide database connection information | Sualeh Fatehi |
![]() |
Worked around a bug in the Oracle driver as described in http://issues.apache.org/jira/browse/DDLUTILS-29?page=all | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
Added retrieval of database properties | Sualeh Fatehi |
![]() |
Added retrieval of column data types, both system datatypes and UDTs | Sualeh Fatehi |
![]() |
Added unit tests to ensure that the XHTML output is valid XML | Sualeh Fatehi |
![]() |
Fixed bug with merge rows option | Sualeh Fatehi |
![]() |
Fixed bug with appending output when multiple runs of SchemaCrawler append to the same output file | Sualeh Fatehi |
![]() |
Fixed SQLException with Oracle Database 10g Express Edition driver on outputting views | Sualeh Fatehi |
![]() |
Added XStream integration for XML serialization and deserialization | Sualeh Fatehi |
![]() |
Added new command, maximum_schema, that can give all possible details of the schema | Sualeh Fatehi |
![]() |
Obtain database system properties when the maximum schema command is used | Sualeh Fatehi |
![]() |
Added integrations with FreeMarker for templated output | Sualeh Fatehi |
![]() |
Removed Betwixt integration, since the required functionality is provided by XStream | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
Added integrations with Velocity for templated output, and with JUNG for JPEG graph generation | Sualeh Fatehi |
![]() |
Added new examples to demonstrate Velocity templating, and JUNG graphs | Sualeh Fatehi |
![]() |
New command line option to specify the output file name | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
Added ability to retrieve column and table privileges | Sualeh Fatehi |
![]() |
Added Betwixt mappings for XML serialization and de-serialization | Sualeh Fatehi |
![]() |
Added Unix shell scripts for examples | Sualeh Fatehi |
![]() |
Fixed bug with the ordering of primary key and index columns | Sualeh Fatehi |
![]() |
Changed API - ColumnInfoLevel is called SchemaInfoLevel | Sualeh Fatehi |
![]() |
Moved source repository to Subversion | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
Correction of spelling of the "sort_alphabetically" option names | Sualeh Fatehi |
![]() |
Refactoring of inhertance hierarchy of database objects, resulting in fewer equals, hashCode and compareTo implementations | Sualeh Fatehi |
![]() |
Better HTML formatting for counts | Sualeh Fatehi |
![]() |
Dirty reads are performed for counts and other operations | Sualeh Fatehi |
![]() |
Sets the default value for table columns | Sualeh Fatehi |
![]() |
Javadoc clean-up | Sualeh Fatehi |
![]() |
Findbugs, checkstyle, and PMD code smells clean-up | Sualeh Fatehi |
| Type | Changes | By |
|---|---|---|
![]() |
The ability to include as well as exclude tables using regular expressions. | Sualeh Fatehi |
![]() |
The ability to include as well as exclude columns using regular expressions. | Sualeh Fatehi |
![]() |
A new substitution variable, ${columns}, for use in database queries that iterate over tables. | Sualeh Fatehi |
![]() |
New examples for executing database-specific and user-defined queries have been added. | Sualeh Fatehi |
![]() |
Better output formatting for HTML dumps, and counts in text format. | Sualeh Fatehi |
![]() |
New website. | Sualeh Fatehi |
![]() |
Worked around an issue with the Sybase driver, that provides primary keys in a different order than most other drivers. | Sualeh Fatehi |
![]() |
Improved logging, and made the log level in the configuration really work. | Sualeh Fatehi |