Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

liquibase.Liquibase is designed as a facade to the library for use in integrations.  All functionality of LiquiBase can be accessed starting with this class, in a simplified manner.

General Usage

The following code will update your database using LiquiBase:

Code Block
Liquibase liquibase = new Liquibase(changelog, new ClassLoaderResourceAccessor(), DatabaseFactory.getInstance().findCorrectDatabaseImplementation(connection));
liquibase.update();

Some points to notice:

ClassLoaderResourceAccessor

LiquiBase uses the concept of a liquibase.resource.ResourceAccessor to abstract how files are accessed.  ClassLoaderResourceAccesor is one option which will check your classpath for the specified changelog file and any other resources needed.  Other options include FileSystemResourceAccessor which understands absolute paths, and CompositeResourceAccessor which can combine and chain ResourceAccessor.  The ResourceAccessor to use is passed to the LiquiBase constructor.

DatabaseFactory.getInstance().findCorrectDatabaseImplementation

The simplest way to get a liquibase.database.Database object, which serves as the database abstraction layer, is by the DatabaseFactory.  You can pass a connection to it and receive back the connection wrapped in a Database object.

update()

Update will update the database.  Parameters can be passed to update to control contextsto execute.