SchemaCrawler Changelog

What's new in SchemaCrawler 14.02.01

Aug 10, 2015
  • There is a new command-line option, -linterconfigs= which replaces -Dschemacrawer.linter_configs.file= This will make it easier for you to define an XML configuration file.
  • Support for SQL lints, so that you can define your own data lints.
  • Ability to exclude certain tables from lint.

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 16, 2015)

  • Better identification of weak associations.

New in SchemaCrawler 12.04.02 (Feb 11, 2015)

  • Fix Oracle connection.

New in SchemaCrawler 12.04.01 (Feb 3, 2015)

  • Reverting back to SQLite JDBC driver version 3.7.8, since that is the most stable, even if not readily available.
  • Refactored API for reading input files, such as scripts.
  • Made compressed file format the default for offline snapshots.

New in SchemaCrawler 12.03.02 (Jan 19, 2015)

  • Better connection arguments.

New in SchemaCrawler 12.03.01 (Jan 7, 2015)

  • Supress remarks.

New in SchemaCrawler 12.02.03 (Dec 27, 2014)

  • Integration with Thymeleaf templating.
  • Flushing of output.

New in SchemaCrawler 12.02.01 (Nov 27, 2014)

  • Collapsed distribution into a single distribution download, with Apache Ant Ivy scripts for downloading additional dependencies. A new -server command-line option will connect to a database with built-in support.
  • Added Maven archetypes for database server plugins.
  • Building Debian package as part of the main distributable.
  • Added support for the H2 Database Engine.
  • Changes direction of arrow for foreign keys in text output, to always point to the primary key.
  • Made consistent CSS stylesheets for examples, website, and HTML text output.
  • Fixed issues with retrieving functions from H2 Database Engine.
  • Standardized CSS styles between the website, example readmes, and SchemaCrawler HTML output.

New in SchemaCrawler 11.02.01 (Nov 5, 2014)

  • Changes:
  • Added options to hide cardinality in graphs
  • Added Maven archetypes for plugins

New in SchemaCrawler 11.01.01 (Oct 2, 2014)

  • Changed Maven groupId to us.fatehi.
  • Renamed Database class to Catalog.
  • Changed all output formats to include table and column remarks whenever available.
  • Added command-line option options to show significant columns, such as primary and foreign key columns, and columns that are part of unique indexes. Use the `-infolevel=standard -command=brief` command-line options.
  • Indicate auto-incremented columns in graph and other output.

New in SchemaCrawler 10.10.05 (Aug 5, 2014)

  • Fixed bug with weak associations in diagrams being drawn twice.
  • Added more variations of diagrams to website.

New in SchemaCrawler 10.10.04 (Jul 28, 2014)

  • Fixed bug with cardinality in diagrams, when a foreign key is only a part of the primary key of a table.
  • Fixed -sequences command-line argument, and got it to work correctly with the properties file.

New in SchemaCrawler 10.10.03 (Jul 7, 2014)

  • Added support for include and exclude expressions for synonyms and sequences in config properties files.

New in SchemaCrawler 10.10.02 (Jul 3, 2014)

  • Added support for auto-incremented columns, and generated columns.

New in SchemaCrawler 10.09.02 (Jun 24, 2014)

  • Added support for sequences.

New in SchemaCrawler 10.09.01 (May 16, 2014)

  • Fixed table type to be based on a string, not an enum. See http://sourceforge.net/p/schemacrawler/discussion/495990/thread/09186044 for details.
  • Changed the object inheritance of a privilege, so that it is not a database object.

New in SchemaCrawler 10.08.05 (Apr 25, 2014)

  • Fixed lint "foreign key with no index" to look at primary keys as well.
  • Fixed bug #31, https://sourceforge.net/p/schemacrawler/bugs/31/, for loading XML databases.
  • Fixed MySQL connection issue, by removing URL parameter "useInformationSchema=true" so that MySQL's buggy metadata provider is not used. This provider does not honor mixed-case tables names.

New in SchemaCrawler 10.08.04 (Apr 4, 2014)

  • Fix:
  • Column sort options sort columns in dumps also.
  • Added generation date to database diagram.

New in SchemaCrawler 10.08.03 (Mar 27, 2014)

  • Fix:
  • Made extra columns provided in all information schema views available as attributes of SchemaCrawler Java objects.
  • Fixed DDL metadata for Oracle, so that it is portable.
  • Converted code to Git.
  • Added:
  • Added table definition metadata for Oracle.
  • Allow for code to be executed before and after the crawl. This is in the form of pre- and post- executables.
  • Added foreign key definition metadata for Oracle.

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 20, 2013)

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

New in SchemaCrawler 10.8 (Nov 20, 2013)

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

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.5 (Oct 7, 2013)

  • Fixed bug with table restrictions
  • Support all command-line options in ant task.

New in SchemaCrawler 10.4 (Jul 29, 2013)

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

New in SchemaCrawler 10.3 (May 25, 2013)

  • Rework of the column data type classes, as well as a workaround for an Oracle JDBC driver bug with reporting data type information.

New in SchemaCrawler 10.1 (Apr 22, 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 25, 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 (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 25, 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 10, 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 21, 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.14 (Apr 11, 2012)

  • Added new command-line switch to show parent and child tables, in addition to those selected by grep.

New in SchemaCrawler 8.12 (Feb 27, 2012)

  • Added ability to stream SchemaCrawler output.

New in SchemaCrawler 8.11 (Feb 20, 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)

  • Has a new lint report, and several new lints, which are described on the website.
  • Lints are extensible. You can add new custom commands to SchemaCrawler as well, using the new command provider API.

New in SchemaCrawler 8.8 (Oct 17, 2011)

  • Outputs database metadata as JSON for use in website and other applications.
  • The SchemaCrawler Maven Plugin is broken out into a separate project on SourceForge.

New in SchemaCrawler 8.7 (Sep 4, 2011)

  • New INFORMATION_SCHEMA views to provide Oracle metadata details.
  • Update database driver versions. fix
  • Fixed bug #3392557 - NullPointer exception thrown when columns excluded in Oracle.
  • Fixed bug #3392976 - Exception retrieving tables: Could not retrieve indices for Oracle schemas with $ in the name.
  • 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.3.3 (Aug 11, 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 website.

New in SchemaCrawler 8.3 (Jul 16, 2010)

  • This release comes with new bundled distributions for IBM DB2 and HyperSQL 2.0.0. There is support for spaces in schema and catalog names. The test database is now on HyperSQL 2.0.0, with an improved test schema.

New in SchemaCrawler 8.2 (May 25, 2010)

  • SchemaCrawler now supports spaces or reserved words in table, procedure, and column names, and there is a new database lint to find these. SchemaCrawler is available in the Sonatype Maven public repository. Table and procedure remarks are output with verbose output. The SchemaCrawler Maven plug-in generates a database report that uses the same stylesheet as the rest of the Maven generated website, and generated database diagrams are less "colorful".

New in SchemaCrawler 7.2 (Aug 27, 2009)

  • This release adds a natural sort order for tables, based on the foreign keys, and a corresponding command-line switch, -sorttables.
  • There are new API methods to get child and parent tables, and better modeling of privileges and grants. Bug fixes include for obtaining indexes and foreign keys with the Oracle driver, handling null schemas for databases that do not support schemas, and allowing data dumps when tables contain binary objects, by fixing the SELECT sort order.

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 8, 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 10, 2009)

  • Release 6.2 has 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. There is 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.1 (Mar 30, 2009)

  • This is an API change. There are better grep options, to allow searching through both tables and stored procedures. Grep options default to excluding stored procedures. This release includes minor bug fixes for Sybase, including generating warnings when obtaining table column privileges, instead of failing. There are minor bug fixes for MySQL, where an exception is not thrown if the driver reports the schema name as null. There is a new Windows script file for locating Java, and launching SchemaCrawler. There is a reorganization of the distribution, so that only a single SchemaCrawler jar file is distributed in all distributions. License distribution is also reorganized.

New in SchemaCrawler 6.0.2 (Dec 30, 2008)

  • Worked around MySQL bug with null schemas being reported by the driver.