SchemaCrawler Changelog

What's new in SchemaCrawler 12.06.03

Mar 28, 2015
  • Fixing links on website.

New in SchemaCrawler 12.06.02 (Mar 27, 2015)

  • Fixing links on website.

New in SchemaCrawler 12.06.01 (Mar 25, 2015)

  • Hiding empty tables, and links in HTML.

New in SchemaCrawler 12.05.02 (Mar 18, 2015)

  • Better identification of weak associations.

New in SchemaCrawler 12.05.01 (Mar 15, 2015)

  • Better identification of weak associations.

New in SchemaCrawler 12.04.02 (Feb 11, 2015)

  • Fix Oracle connection.

New in SchemaCrawler 12.03.02 (Jan 30, 2015)

  • Better connection arguments.

New in SchemaCrawler 10.08.02 (Jan 4, 2014)

  • Updated copyright notices.
  • Fixed javadocs, using standard Java 7 stylesheet.

New in SchemaCrawler 10.08.01 (Nov 21, 2013)

  • Trim all table names, to allow Informix to match correctly.

New in SchemaCrawler 10.8 (Nov 12, 2013)

  • Providing richer information about table constraints, including details of constrained columns.

New in SchemaCrawler 10.7 (Nov 7, 2013)

  • Providing richer information about table constraints. Renaming check constraints to table constraints.

New in SchemaCrawler 10.6 (Oct 31, 2013)

  • Changed InclusionRule to an interface, to allow custom implementations.
  • Fixed lack of support for type maps by the Sybase IQ database driver.

New in SchemaCrawler 10.4 (Jul 30, 2013)

  • Fixed view definitions for PostgreSQL.
  • Fixed retrieving index metadata for tables, working around PostgreSQL bugs #3480 #6253.
  • Added retrieving index definitions for PostgreSQL and Oracle.
  • Added retrieving view definitions for Apache Derby.

New in SchemaCrawler 10.1 (Apr 23, 2013)

  • SchemaCrawler support for J2SE 7 only, since previous Java versions are deprecated. Converted the codebase over to use J2SE 7 constructs.
  • New command-line option, -only-matching, to show only matching tables, and does not show foreign keys that reference other non-matching tables. Modeled after the analogous grep option.
  • New option to set input encoding format for script files and templates. The option is "schemacrawler.encoding.input" in the SchemaCrawler properties file.
  • Renamed command-line option -table_types to -tabletypes.

New in SchemaCrawler 9.6 (Mar 9, 2013)

  • Fixed diagram generation on Linux when no GraphViz options are supplied.
  • Added trigger names to JSON output by default. Added new configuration variable, schemacrawler.format.hide_trigger_names to suppress trigger names in all output formats.
  • Added new -portablenames command-line option, to allow for easy comparison between databases, by hiding foreign key names, constraint names, trigger names, index and primary key names, and not showing the fully-qualified table name.

New in SchemaCrawler 9.5 (Feb 26, 2013)

  • Updated HTML generation to have captions consistently for all tables. Numeric data is right-aligned in HTML, and correctly reported in JSON as well. These changes affect other output formats as well.
  • Updated Oracle database connection URL to the new syntax.

New in SchemaCrawler 9.4 (Feb 2, 2013)

  • Fix for honoring text formatting options in GraphViz dot output.

New in SchemaCrawler 9.3.2 (Nov 19, 2012)

  • Fix for honoring sort options on JSON output.

New in SchemaCrawler 9.3.1 (Nov 5, 2012)

  • Fix for generating diagrams on Unix.

New in SchemaCrawler 9.3 (Nov 1, 2012)

  • Weak associations are returned sorted.
  • Added ability to specify additional command line options for GraphViz, using either Java system properties, or environmental variables.

New in SchemaCrawler 9.2 (Oct 22, 2012)

  • Fixed Windows script, sc.cmd.
  • Better support for sqlite, including the latest database driver, reporting of foreign keys, and view definitions.
  • Updated the jTDS JDBC driver to 1.2.6, for Microsoft SQL Server.
  • Deprecated the getType() method on database objects.

New in SchemaCrawler 9.1 (Oct 1, 2012)

  • Added examples for Groovy, Ruby and Python scripting.
  • SchemaCrawler is now bundled as an OSGi jar.

New in SchemaCrawler 9.0 (Sep 11, 2012)

  • The API has changed from 8.x versions. All API calls return collections instead of arrays. Schemas are not containers, but tags for database objects. Tables and routines (stored procedures and functions) are available directly on the database, and there are new finders to search by schema.
  • Support for database functions has been added. All references to stored procedures in the code and documentation now refer to routines. Stored procedures and functions are treated in the same way, as routines.
  • SchemaCrawler now allows queries to be specified on the command-line. If a command is not recognized, or is not a named query, it is executed as if it is a query.
  • The output format includes trgger definitions as part of the schema, instead of as the detailed schema output.
  • Database connections have to be specified on the command-line, by providing the driver class name and URL. Database connections can no longer be defined in properties files.
  • There are new command-line options. -V, --version will print the SchemaCrawler version and exit. There are shorter and more standard (Unix-like) synonyms -u (for -user), -c (for -command), and -o (for -output). The -procedures switch has been renamed -routines.

New in SchemaCrawler 8.17 (Jul 14, 2012)

  • The HTML output format outputs valid HTML5 and CSS3, as valid XML.
  • JSON output supports all of the formatting options that the other text formats support.
  • A new method, getShortName(), get the unqualified name for columns and other dependent objects.
  • A new text format option, "schemacrawler.format.show_unqualified_names", shows the unqualified name in text output, for easier comparisons across different catalogs and schemas.

New in SchemaCrawler 8.15 (May 7, 2012)

  • Added distribution for Sybase IQ.

New in SchemaCrawler 8.11 (Feb 19, 2012)

  • Added ability to configure SchemaCrawler linters.
  • Added a new lint for useless surrogate keys.
  • Added ability to tag tables and columns with additional metadata attributes from SQL queries.

New in SchemaCrawler 8.10 (Jan 27, 2012)

  • Changed copyright notice on source code.
  • Added ability to use configuration from bundled versions of SchemaCrawler, so that triggers, and extended metadata are available.
  • Started to add teh ability to configure SchemaCrawler linters.

New in SchemaCrawler 8.9 (Dec 12, 2011)

  • add Added SchemaCrawler Lint as a separate report, with ability to add custom linters. add Added additional SchemaCrawler linters.
  • add Added ability to extend SchemaCrawler with custom command.
  • fix Fixed issue with constraints with the same name in different schemas.

New in SchemaCrawler 8.8 (Oct 18, 2011)

  • Added JSON and TSV output formats. Sualeh Fatehi
  • Moved SchemaCrawler Maven Plugin into a new SourceForge project.

New in SchemaCrawler 8.7 (Sep 5, 2011)

  • New INFORMATION_SCHEMA views to provide Oracle metadata details. Sualeh Fatehi
  • update Update database driver versions. Sualeh Fatehi
  • fix Fixed bug #3392557 - NullPointer exception thrown when columns excluded in Oracle. Sualeh Fatehi
  • fix Fixed bug #3392976 - Exception retrieving tables: Could not retrieve indices for Oracle schemas with $ in the name. Sualeh Fatehi
  • fix Fixed bug #3401752 - Attempt to locate database 'dbo' by name failed.

New in SchemaCrawler 8.6 (May 9, 2011)

  • New feature to chain, or run multiple SchemaCrawler commands using JavaScript.

New in SchemaCrawler 8.5.1 (Feb 8, 2011)

  • Changed copyright to 2011. Sualeh Fatehi
  • Fixed grep. Sualeh Fatehi
  • Removed option to provide index info SQL. Sualeh Fatehi
  • Better unit test coverage. Restructuring of Eclipse projects. Sualeh Fatehi

New in SchemaCrawler 8.5 (Feb 3, 2011)

  • Changed copyright to 2011. Sualeh Fatehi
  • Fixed grep. Sualeh Fatehi
  • Removed option to provide index info SQL. Sualeh Fatehi
  • Better unit test coverage. Restructuring of Eclipse projects.

New in SchemaCrawler 8.4 (Dec 27, 2010)

  • SchemaCrawler commands have been simplified. For example, "list_objects" is now simply "list".
  • -procedures= is used as a command line switch instead of -show_stored_procedures.
  • Issues with obtaining PostgreSQL tables and Derby foreign keys are fixed.
  • -infolevel is now a required command line argument.

New in SchemaCrawler 8.3.2 (Aug 2, 2010)

  • Verbose output now contains column remarks along with table remarks.
  • A bug with graphs that have foreign keys to tables not included in the grep has been fixed.

New in SchemaCrawler 8.3.1 (Jul 19, 2010)

  • A new command line option, -urlx, passes additional JDBC URL properties to bundled distributions.
  • Details on the "main" command line is in the how-to section of the official website.

New in SchemaCrawler 7.6 (Dec 4, 2009)

  • Fixed specification of Oracle SID using the -database command line switch, as well as spcification of port number.
  • Fixed shell script classpath.

New in SchemaCrawler 7.3.1 (Sep 26, 2009)

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

New in SchemaCrawler 7.2 (Aug 27, 2009)

  • Better modeling of privileges and grants.
  • Bug fix for obtaining indexes and foreign keys with the Oracle driver.
  • 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.
  • Handle null schemas for databases that do not support schemas, such as MySQL.
  • Allow data dumps when tables contain binary objects, by fixing the SELECT sort order.

New in SchemaCrawler 7.2 (Aug 27, 2009)

  • Better modeling of privileges and grants.
  • Bug fix for obtaining indexes and foreign keys with the Oracle driver.
  • 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.
  • Handle null schemas for databases that do not support schemas, such as MySQL.
  • Allow data dumps when tables contain binary objects, by fixing the SELECT sort order.

New in SchemaCrawler 7.1 (Aug 13, 2009)

  • This release makes efficient use of database connections and plays well with pooled connections.
  • There are better log messages, including for configuration, for when a database connection is opened or closed.
  • There are several performance enhancements, improving the speed of retrieval of the schema.

New in SchemaCrawler 6.4 (May 11, 2009)

  • The 6.4 release adds a pre-packaged SchemaCrawler for SQLite. There is also an improved algorithm to find weak associations, and a new command-line switch to sort columns alphabetically.

New in SchemaCrawler 6.3 (May 7, 2009)

  • SchemaCrawler grep functionality is built into the SchemaCrawler command-line. This means that all of the SchemaCrawler commands, including graphing, can use filtering and grep options. The command-line options help has been re-written. If no commands are specified, defaults to standard_schema (a new command), which provides the most commonly needed details of the schema. SchemaCrawler produces Graphviz DOT files to generate schema diagrams, as one of its native output formats.

New in SchemaCrawler 6.2 (Apr 9, 2009)

  • 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.
  • 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.

New in SchemaCrawler 6.0.2 (Nov 29, 2008)

  • This release fixes an issue with MySQL schemas.

New in SchemaCrawler 6.0.1 (Nov 7, 2008)

  • Bugfixes for recognizing -schemapattern on the command line, and data types with the Oracle driver.

New in SchemaCrawler 6.0 (Oct 17, 2008)

  • This release introduces a number of API changes and new features.
  • Notable among these is full support for multiple schemata in a catalog.
  • The SchemaCrawler API returns a catalog as the top level object, which contains schemata.
  • Another change is that SchemaInfoLevel is an option, not a CrawlHandler property, to allow for better separation of concerns.
  • Finally, SchemaCrawler has support for JavaScript scripting with J2SE 6 and above.