September 24, 2013

Liquibase 3.0.5 Released

The major focus of this release is performance improvements:

  • Startup time is significantly improved for larger databases
  • Preconditions now snapshot far less of the database
  • Running generateChangeLog on a test MySQL database with over 4000 tables went from crashing after an hour to completing in 30 seconds. Even an Oracle database with the same structure finished in a couple minutes.

If you are still seeing any unexpected performance problems, file a bug report

You can download 3.0.5 from https://www.liquibase.com/download and through the maven repository system once it gets mirrored through. If you have any questions or problems, visit the forums or bug tracker.

Notable Bugs

  • Multi-column foreign keys are snapshotted correctly now
  • Improved case-sensitive/insensitive handling

Potential Gotchas

Three bug fixes related to data type translations went into 3.0.5 which may cause issues for people that had been relying on incorrect behavior

  • MS SQLServer “DATE” columns are now translated to “DATE” rather than SMALLDATETIME
  • MySQL TIMESTAMP columns are now nullable if you do not specify that they should be not null
  • H2 and HSQL CLOB columns are now translated as CLOB rather than LONGVARCHAR

Full Change Log

  • CORE-845 – “DATE” data type is deployed as “SMALLDATETIME” in SQL 2008
  • CORE-859 - Nullable TIMESTAMP columns in MySQL are not nullable.
  • CORE-1257 – Oracle: generateChangeLog exports a column of type “NUMBER” as “NUMBER(0,-127)”
  • CORE-1288 - H2 (and other) support for BLOB and CLOB is incorrect
  • CORE-1338 – Using apostrophe in changeset’s ID causes SQL error
  • CORE-1360 - Confirmation message of a custom change change is only printed if loglevel is debug
  • CORE-1364 - SQL Server incorrect INFORMATION_SCHEMA table case in native query
  • CORE-1365 – SQL Server: “Database ‘dbo’ does not exist” error
  • CORE-1401 - Unnecessary snapshot on liquibase update
  • CORE-1415 - Liquibase tables are not detected in oracle running in the SYSTEM schema
  • CORE-1426 - ORACLE: Check for existing tables is case sensitive
  • CORE-1429 - Random order of UniqueConstraint and ForeignKey drop statements
  • CORE-1459 - Maven updateSQL creates databasechangelog table, should only output SQL to do it
  • CORE-1462 – renameColumn with ‘text’ data type improperly trying to use ‘clob’ against MySql
  • CORE-1433 - Handle changes in column datatypes in diffChangeLog
  • CORE-1434 - Formatted Changelog format not parsing UTF8 .sql files with BOM
  • CORE-1453 - Multi-column foreign keys not snapshotted correctly
Nathan Voxland
Nathan Voxland
Share on: