liquibase:diff

Full name:

org.liquibase:liquibase-maven-plugin:3.5.0-SNAPSHOT:diff

Description:

Generates a diff between the specified database and the reference database. The output is either a report or a changelog depending on the value of the diffChangeLogFile parameter.

Attributes:

  • Requires a Maven 2.0 project to be executed.
  • Requires dependency resolution of artifacts in scope: test.

Optional Parameters

Name Type Since Description
changeLogFile String - Specifies the change log file to use for Liquibase.
changelogCatalogName String - Schema against which Liquibase changelog tables will be created.
changelogSchemaName String - Schema against which Liquibase changelog tables will be created.
clearCheckSums boolean - Flag for forcing the checksums to be cleared from teh DatabaseChangeLog table.
Default value is: false.
contexts String - The Liquibase contexts to execute, which can be "," separated if multiple contexts are required. If no context is specified then ALL contexts will be executed.
databaseChangeLogLockTableName String - Table name to use for the databasechangelog.
databaseChangeLogTableName String - Table name to use for the databasechangelog.
databaseClass String - The class to use as the database object.
defaultCatalogName String - The default catalog name to use the for database connection.
defaultSchemaName String - The default schema name to use the for database connection.
diffChangeLogFile String - If this parameter is set, the changelog needed to "fix" differences between the two databases is output. If the file exists, it is appended to. If this is null, a comparison report is output to stdout.
diffExcludeObjects String - Objects to be excluded from the changelog. Example filters: "table_name", "table:main_.*", "column:*._lock, table:primary.*".
diffIncludeCatalog boolean - Include the catalog in the diff output? If this is null then the catalog will not be included
diffIncludeObjects String - Objects to be included in the changelog. Example filters: "table_name", "table:main_.*", "column:*._lock, table:primary.*".
diffIncludeSchema boolean - Include the schema in the diff output? If this is null then the schema will not be included
diffIncludeTablespace boolean - Include the tablespace in the diff output? If this is null then the tablespace will not be included
diffTypes String - List of diff types to include in Change Log expressed as a comma separated list from: tables, views, columns, indexes, foreignkeys, primarykeys, uniqueconstraints, data. If this is null then the default types will be: tables, views, columns, indexes, foreignkeys, primarykeys, uniqueconstraints
driver String - The fully qualified name of the driver class to use to connect to the database.
driverPropertiesFile File - Location of a properties file containing JDBC connection properties for use by the driver.
emptyPassword boolean - Deprecated. Use an empty or null value for the password instead.
Default value is: false.
expressionVariables Map - Array to put a expression variable to maven plugin.
expressionVars Properties - Array to put a expression variable to maven plugin.
includeArtifact boolean - Allows for the maven project artifact to be included in the class loader for obtaining the Liquibase property and DatabaseChangeLog files.
Default value is: true.
includeTestOutputDirectory boolean - Allows for the maven test output directory to be included in the class loader for obtaining the Liquibase property and DatabaseChangeLog files.
Default value is: true.
labels String - The Liquibase labels to execute, which can be "," separated if multiple labels are required or a more complex expression. If no label is specified then ALL all will be executed.
logging String - Controls the level of logging from Liquibase when executing. The value can be "debug", "info", "warning", "severe", or "off". The value is case insensitive.
Default value is: INFO.
outputDefaultCatalog boolean - Whether to ignore the catalog/database name.
outputDefaultSchema boolean - Whether to ignore the schema name.
outputFileEncoding String - Flag to set the character encoding of the output file produced by Liquibase during the updateSQL phase.
password String - The database password to use to connect to the specified database.
promptOnNonLocalDatabase boolean - Controls the prompting of users as to whether or not they really want to run the changes on a database that is not local to the machine that the user is current executing the plugin on.
Default value is: true.
propertyFile String - The Liquibase properties file used to configure the Liquibase Liquibase.
propertyFileWillOverride boolean - Flag allowing for the Liquibase properties file to override any settings provided in the Maven plugin configuration. By default if a property is explicity specified it is not overridden if it also appears in the properties file.
Default value is: false.
propertyProviderClass String - The class to use as the property provider (must be a java.util.Properties implementation).
referenceDefaultCatalogName String - The reference database catalog.
referenceDefaultSchemaName String - The reference database schema.
referenceDriver String - The fully qualified name of the driver class to use to connect to the reference database. If this is not specified, then the driver will be used instead.
referencePassword String - The reference database password to use to connect to the specified database. If this is null then an empty password will be used.
referenceServer String - The server id in settings.xml to use when authenticating with.
referenceUrl String - The reference database URL to connect to for executing Liquibase.
referenceUsername String - The reference database username to use to connect to the specified database.
server String - The server id in settings.xml to use when authenticating with.
skip boolean - Set this to 'false' to skip running liquibase. Its use is NOT RECOMMENDED, but quite convenient on occasion.
systemProperties Properties - List of system properties to pass to the database.
url String - The Database URL to connect to for executing Liquibase.
username String - The database username to use to connect to the specified database.
verbose boolean - Controls the verbosity of the output from invoking the plugin.
Default value is: false.

Parameter Details

changeLogFile:

Specifies the change log file to use for Liquibase.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.changeLogFile}

changelogCatalogName:

Schema against which Liquibase changelog tables will be created.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.changelogCatalogName}

changelogSchemaName:

Schema against which Liquibase changelog tables will be created.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.changelogSchemaName}

clearCheckSums:

Flag for forcing the checksums to be cleared from teh DatabaseChangeLog table.
  • Type: boolean
  • Required: No
  • Expression: ${liquibase.clearCheckSums}
  • Default: false

contexts:

The Liquibase contexts to execute, which can be "," separated if multiple contexts are required. If no context is specified then ALL contexts will be executed.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.contexts}

databaseChangeLogLockTableName:

Table name to use for the databasechangelog.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.databaseChangeLogLockTableName}

databaseChangeLogTableName:

Table name to use for the databasechangelog.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.databaseChangeLogTableName}

databaseClass:

The class to use as the database object.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.databaseClass}

defaultCatalogName:

The default catalog name to use the for database connection.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.defaultCatalogName}

defaultSchemaName:

The default schema name to use the for database connection.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.defaultSchemaName}

diffChangeLogFile:

If this parameter is set, the changelog needed to "fix" differences between the two databases is output. If the file exists, it is appended to. If this is null, a comparison report is output to stdout.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.diffChangeLogFile}

diffExcludeObjects:

Objects to be excluded from the changelog. Example filters: "table_name", "table:main_.*", "column:*._lock, table:primary.*".
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.diffExcludeObjects}

diffIncludeCatalog:

Include the catalog in the diff output? If this is null then the catalog will not be included
  • Type: boolean
  • Required: No
  • Expression: ${liquibase.diffIncludeCatalog}

diffIncludeObjects:

Objects to be included in the changelog. Example filters: "table_name", "table:main_.*", "column:*._lock, table:primary.*".
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.diffIncludeObjects}

diffIncludeSchema:

Include the schema in the diff output? If this is null then the schema will not be included
  • Type: boolean
  • Required: No
  • Expression: ${liquibase.diffIncludeSchema}

diffIncludeTablespace:

Include the tablespace in the diff output? If this is null then the tablespace will not be included
  • Type: boolean
  • Required: No
  • Expression: ${liquibase.diffIncludeTablespace}

diffTypes:

List of diff types to include in Change Log expressed as a comma separated list from: tables, views, columns, indexes, foreignkeys, primarykeys, uniqueconstraints, data. If this is null then the default types will be: tables, views, columns, indexes, foreignkeys, primarykeys, uniqueconstraints
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.diffTypes}

driver:

The fully qualified name of the driver class to use to connect to the database.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.driver}

driverPropertiesFile:

Location of a properties file containing JDBC connection properties for use by the driver.
  • Type: java.io.File
  • Required: No

emptyPassword:

Deprecated. Use an empty or null value for the password instead.
Use an empty string as the password for the database connection. This should not be used along side the password setting.
  • Type: boolean
  • Required: No
  • Expression: ${liquibase.emptyPassword}
  • Default: false

expressionVariables:

Array to put a expression variable to maven plugin.
  • Type: java.util.Map
  • Required: No

expressionVars:

Array to put a expression variable to maven plugin.
  • Type: java.util.Properties
  • Required: No

includeArtifact:

Allows for the maven project artifact to be included in the class loader for obtaining the Liquibase property and DatabaseChangeLog files.
  • Type: boolean
  • Required: No
  • Expression: ${liquibase.includeArtifact}
  • Default: true

includeTestOutputDirectory:

Allows for the maven test output directory to be included in the class loader for obtaining the Liquibase property and DatabaseChangeLog files.
  • Type: boolean
  • Required: No
  • Expression: ${liquibase.includeTestOutputDirectory}
  • Default: true

labels:

The Liquibase labels to execute, which can be "," separated if multiple labels are required or a more complex expression. If no label is specified then ALL all will be executed.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.labels}

logging:

Controls the level of logging from Liquibase when executing. The value can be "debug", "info", "warning", "severe", or "off". The value is case insensitive.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.logging}
  • Default: INFO

outputDefaultCatalog:

Whether to ignore the catalog/database name.
  • Type: boolean
  • Required: No
  • Expression: ${liquibase.outputDefaultCatalog}

outputDefaultSchema:

Whether to ignore the schema name.
  • Type: boolean
  • Required: No
  • Expression: ${liquibase.outputDefaultSchema}

outputFileEncoding:

Flag to set the character encoding of the output file produced by Liquibase during the updateSQL phase.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.outputFileEncoding}

password:

The database password to use to connect to the specified database.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.password}

promptOnNonLocalDatabase:

Controls the prompting of users as to whether or not they really want to run the changes on a database that is not local to the machine that the user is current executing the plugin on.
  • Type: boolean
  • Required: No
  • Expression: ${liquibase.promptOnNonLocalDatabase}
  • Default: true

propertyFile:

The Liquibase properties file used to configure the Liquibase Liquibase.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.propertyFile}

propertyFileWillOverride:

Flag allowing for the Liquibase properties file to override any settings provided in the Maven plugin configuration. By default if a property is explicity specified it is not overridden if it also appears in the properties file.
  • Type: boolean
  • Required: No
  • Expression: ${liquibase.propertyFileWillOverride}
  • Default: false

propertyProviderClass:

The class to use as the property provider (must be a java.util.Properties implementation).
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.propertyProviderClass}

referenceDefaultCatalogName:

The reference database catalog.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.referenceDefaultCatalogName}

referenceDefaultSchemaName:

The reference database schema.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.referenceDefaultSchemaName}

referenceDriver:

The fully qualified name of the driver class to use to connect to the reference database. If this is not specified, then the driver will be used instead.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.referenceDriver}

referencePassword:

The reference database password to use to connect to the specified database. If this is null then an empty password will be used.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.referencePassword}

referenceServer:

The server id in settings.xml to use when authenticating with.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.referenceServer}

referenceUrl:

The reference database URL to connect to for executing Liquibase.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.referenceUrl}

referenceUsername:

The reference database username to use to connect to the specified database.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.referenceUsername}

server:

The server id in settings.xml to use when authenticating with.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.server}

skip:

Set this to 'false' to skip running liquibase. Its use is NOT RECOMMENDED, but quite convenient on occasion.
  • Type: boolean
  • Required: No
  • Expression: ${liquibase.skip}

systemProperties:

List of system properties to pass to the database.
  • Type: java.util.Properties
  • Required: No

url:

The Database URL to connect to for executing Liquibase.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.url}

username:

The database username to use to connect to the specified database.
  • Type: java.lang.String
  • Required: No
  • Expression: ${liquibase.username}

verbose:

Controls the verbosity of the output from invoking the plugin.
  • Type: boolean
  • Required: No
  • Expression: ${liquibase.verbose}
  • Default: false