Liquibase® version 3.8.2 is now available! Get it for free.
2018 XML Announcement
News 5 Ways to Fix a Bad Database Change in Liquibase
04 Dec 2019

- and/or -

All Previous Posts >>

updateDatabase Ant Task

Roll the database forward applying all change sets that have not been run.


Attribute Description Required
changeLogFile The change log file to run Yes
contexts A comma separated list of contexts to execute. If not specified, all contexts are run. No
outputFile If specified, Liquibase will save the update SQL statements to the specified file rather than executing them in the database. No
outputEncoding The character encoding to use when writing SQL statements to output file. No; defaults to system encoding.
promptOnNonLocalDatabase If set to true a dialog box with warn you if you attempt to run the Liquibase against a database that is not on localhost No; default is false.
dropFirst If set to true, Liquibase will first drop all database objects owned by the connected user. No; default is false
classpathref A reference to the classpath used to run the task with. No
databaseref A reference to the database that Liquibase will connect to. Yes, unless a nested <database> element is present.
driver Deprecated: Name of the database driver to connect with. No
url Deprecated: Use <database>'s url attribute instead. The database URL No
username Deprecated:The database username to connect with No
password Deprecated:The password to use when connecting to the database No
defaultSchemaName Deprecated:Schema to use by default for managed database objects and Liquibase control tables No
currentDateTimeFunction Deprecated: Overrides current date time function used in SQL. Useful for unsupported databases No
databaseChangeLogTableName Deprecated: Overrides the name of the databasechangelog table to use No
databaseChangeLogLockTableName Deprecated: Overrides the name of the databasechangeloglock table to use No
logLevel Deprecated: Specifies one of the following logging levels: debug, info, warning, severe, off. The default level is info. No

Parameters Specified as Nested Elements


The classpath used to run the task with. Optional.


Required unless a databaseref attribute is given. See database data type.


Optional. See change log parameters


<liquibase:updateDatabase changeLogFile="/path/to/changeLog.xml">
	<liquibase:database driver="${db.driver}" url="${db.url}" user="${db.user}" password="${db.pasword}"/>

A basic implementation of the update database task. Applies updates in the change log file to the database.

<database id="my-database" driver="${driver.classname}" url="${jdbc.url}" user="${username}" password="${password}"/>
<liquibase:updateDatabase databaseRef="my-database" changelogFile="/path/to/changeLog.xml"/>

Updates the referenced database with the change sets found in the given change log file.

<liquibase:updateDatabase changeLogFile="/path/to/changeLog.xml">
	<liquibase:database driver="${db.driver}" url="${db.url}" user="${db.user}" password="${db.pasword}"/>
		<liquibase:changeLogParameter name="property1" value="value1"/>
		<liquibase:changeLogParameter name="property2" value="value2"/>
			<propertyref prefix="mydb"/>

Updates the database with the change log file, substituting any change log parameters present with values defined in the nested elements.