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 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 |
diffDatabasetoChangelog Task
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 |
---|---|---|
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 |
<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 changelog Property Substitution.