diffDatabasetoChangelog Task
Outputs a diff of the difference between two databases as a changelog to bring them into sync.
diffDatabasetoChangelog task examples
<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 output-file="/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 output-file="/path/to/diff-changelog.xml" encoding="UTF-8"/>
<liquibase:yaml output-file="/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 |
log-level
|
Deprecated: Specifies one of the following logging levels: debug, info, warning, severe, off. The default level is info. | No |
Parameters specified as nested elements
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 |
---|---|---|
output-file
|
The location to write the changelog file to. | Yes |
encoding
|
The file encoding to use for the output file. | No. Defaults to system encoding |
<liquibase:xml ouputfile="/path/to/output/changelog.xml" encoding="UTF-8"/>
classpath
The classpath used to run the task with. Optional.
database
Required unless a databaseref
attribute is given. See database data type.
referencedatabase
Required unless a referencedatabaseref
attribute is given. See database data type.
changelogparameters
Optional. See Substituting Properties in Changelogs.