Ant diffDatabaseToChangeLog
Outputs a diff of the difference between two databases as a changelog to bring them into sync.
Syntax
<liquibase:diffDatabaseToChangeLog>
<liquibase:database
driver="${db1.driver}"
url="${db1.jdbc.url}"
user="${db1.user}"
password="${db1.password}"/>
<liquibase:referenceDatabase
driver="${db2.driver}"
url="${db2.jdbc.url}"
user="${db2.user}"
password="${db2.password}"/>
<liquibase:xml
outputFile="/path/to/diff-changelog.xml"
encoding="UTF-8"/>
</liquibase:diffDatabaseToChangeLog>
Generate a changelog based on the difference between the two databases. Output the changelog to an XML file.
<liquibase:diffDatabaseToChangeLog>
<liquibase:database
driver="${db1.driver}"
url="${db1.jdbc.url}"
user="${db1.user}"
password="${db1.password}"/>
<liquibase:referenceDatabase
driver="${db2.driver}"
url="${db2.jdbc.url}"
user="${db2.user}"
password="${db2.password}"/>
<liquibase:xml
outputFile="/path/to/diff-changelog.xml"
encoding="UTF-8"/>
<liquibase:yaml
outputFile="/path/to/diff-changelog.yaml"
encoding="UTF-8"/>
</liquibase:diffDatabaseToChangeLog>
Generate changelog in both XML and YAML format.
Parameters
Attribute | Description | Required |
---|---|---|
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. |
referencedatabaseref
|
A reference to the reference database that Liquibase will connect to. | Yes, unless a nested <referencedatabase> element is present. |
difftypes
|
A comma-separated list of diff types to use. | No |
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. |
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 |
referenceDriver
|
Deprecated: The name of the database driver to connect with. | No |
referenceUrl
|
Deprecated: The base database URL. | No |
referenceUsername
|
Deprecated: The base database username to connect with. | No |
referencePassword
|
Deprecated: The base database password. | No |
logLevel
|
Deprecated: Specifies one of the following logging levels: debug, info, warning, severe, off. The default level is info. | No |
Nested attributes
xml, yaml, json, or txt
This task is capable of generating changelog files in multiple formats. At least one of these elements is required.
Attribute | Description | Required |
---|---|---|
outputFile
|
The location to write the changelog file to. | Yes |
encoding
|
The file encoding to use for the output file. | No. Defaults to system encoding |
For example:
<liquibase:xml ouputfile="/path/to/output/changelog.xml" encoding="UTF-8"/>
Other attributes
Attribute | Description | Required |
---|---|---|
classpath
|
The classpath used to run the task. | Optional |
database
|
See database data type for more information. | Required unless a databaseref attribute is given. |
referencedatabase
|
See database data type for more information. | Required unless a referencedatabaseref attribute is given. |
changelogparameters
|
See Substituting Properties in Changelogs for more information. | Optional |