BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News LiquiBase adds Diff, Eclipse Plugin, Support for Additional Databases

LiquiBase adds Diff, Eclipse Plugin, Support for Additional Databases

This item in japanese

LiquiBase, the database refactoring/migration tool, has had a busy year. Building on the momentum of the 1.0 release in June, with support for test contexts, thirty refactorings, four of the most common relational databases, automatic rollback and distributed development, LiquiBase added two more minor releases and some point releases, which address:

  • Support for DB2, Derby, Sybase, HSQL, H2, InterSystems Cache, and 'unsupported' databases
  • A database 'diff' tool for comparing databases against a known schema and generating migrations
  • New commands to verify and check the status of your changelog
  • An eclipse plugin to add support for database refactoring into eclipse

The eclipse plugin has a companion screencast/demo that shows the eclipse plugin in action, generating and applying database changes.

In addition, the LiquiBase blog has covered:

  • Evolutionary Database Design:

    For now, however, we need to start a the simple end and build a strong foundation of tools and techniques before working our way up the stack to the top. There is the start of the required tools in the form of DBUnit for unit testing and LiquiBase for managing refactorings, but there is still large holes including IDE support for refactorings, best practices and pattern catalogs for database testing, and more.

  • The Problem with Rails Active Migrations:

    The fundamental problem is that Rails tracks the "database version" as a single incrementing integer. That works fine when only one developer is adding migrations and when there is only one branch. When you add developers and branches, however, you quickly run into problems with duplicated version numbers, and missed migrations because the production "database version" is higher than a newly merged in migration.

  • Building Database Tests that Don't Break and Unit Testing the Database Access Layer:

    To solve the problem of keeping test data definitions from getting out of sync with the schema, you need to have your test data built up along with your database so it will be modified by database refactoring that were made after it was initially created.

For more information about LiquiBase and other database tools for your Java project, stay tuned to InfoQ.

Rate this Article

Adoption
Style

BT