Back to Top

Diff Change Log

Class Name com.midvision.rapiddeploy.plugins.database.liquibase.LiquibaseDiffChangeLogTask
Category Liquibase

Compares two databases and generates change log file in given format

Description

"While the best way to track database changes is by adding change sets during development,
there are times when being able to perform database diffs is valuable,
particularly near the end of a project as a double-check that all required changes are included in the change log."
See more Full liquibase diff documentation

Resources

The following resources may be set on this task:

Table of task Resources

Name Type Default Value Optional Description
changeLogFilePath java.lang.String path/to/changelog.xml false The root of all Liquibase changes.
changeLogFormat java.util.List xml false Change Log File format
databaseUrl java.lang.String jdbc:hsqldb:hsql://localhost:9001/rapiddeploydb false The JDBC URL of the database.
diffChangeLogResultParam java.lang.String ${liquibaseDiffChangeLogResult} false The name of the output parameter, which can pass the return value from the task. The task output will be the result of liquibase diff process. Define a unique parameter name starting with '${', ending with '}' for the whole orchestration (latter tasks can override the parameter value if the same parameter name is specified). You can refer to this parameter in any task below in the tasklist, as an input parameter ${liquibaseDiffChangeLogResult}.
diffOutputFilePath java.lang.String path/to/changeLogDiff.xml false You can specify the path to changes report file.
diffTypes java.lang.String tables, columns, views, primaryKeys, indexes, foreignKeys, sequences, data false What changes are checked for can be controlled with the diffTypes parameter to the diff commands. The following options are available and can be passed as a comma-separated list: tables, columns, views, primaryKeys, indexes, foreignKeys, sequences, data
failOnError java.lang.Boolean true false This task will not fail the deployment on error if set to false.
password java.lang.String sa false The password of the database.
referenceDatabasePassword java.lang.String sa false The password of the database.
referenceDatabaseUrl java.lang.String jdbc:hsqldb:hsql://localhost:9001/rapiddeploydb2 false The JDBC URL of the reference database.
referenceDatabaseUsername java.lang.String sa false The user of the database.
skipOnFailure java.lang.String Previous Task Name true Skip current task based on the name of the previous task whether has failed or not.
username java.lang.String sa false The user of the database.


Back to Top

Diff Report

Class Name com.midvision.rapiddeploy.plugins.database.liquibase.LiquibaseDiffReportTask
Category Liquibase

Compares two databases and generates changes report

Description

"While the best way to track database changes is by adding change sets during development,
there are times when being able to perform database diffs is valuable,
particularly near the end of a project as a double-check that all required changes are included in the change log."
See more Full liquibase diff documentation

Resources

The following resources may be set on this task:

Table of task Resources

Name Type Default Value Optional Description
changeLogFilePath java.lang.String path/to/changelog.xml false The root of all Liquibase changes.
databaseUrl java.lang.String jdbc:hsqldb:hsql://localhost:9001/rapiddeploydb false The JDBC URL of the database.
diffOutputFilePath java.lang.String path/to/report.out true You can specify the path to changes report file.
diffReportResultParam java.lang.String ${liquibaseRollbackResult} false The name of the output parameter, which can pass the return value from the task. The task output will be the result of liquibase diff process. Define a unique parameter name starting with '${', ending with '}' for the whole orchestration (latter tasks can override the parameter value if the same parameter name is specified). You can refer to this parameter in any task below in the tasklist, as an input parameter ${liquibaseDiffReportResult}.
diffTypes java.lang.String tables, columns, views, primaryKeys, indexes, foreignKeys, sequences, data true What changes are checked for can be controlled with the diffTypes parameter to the diff commands. The following options are available and can be passed as a comma-separated list: tables, columns, views, primaryKeys, indexes, foreignKeys, sequences, data
failOnError java.lang.Boolean true false This task will not fail the deployment on error if set to false.
password java.lang.String sa false The password of the database.
referenceDatabasePassword java.lang.String sa false The password of the database.
referenceDatabaseUrl java.lang.String jdbc:hsqldb:hsql://localhost:9001/rapiddeploydb2 false The JDBC URL of the reference database.
referenceDatabaseUsername java.lang.String sa false The user of the database.
skipOnFailure java.lang.String Previous Task Name true Skip current task based on the name of the previous task whether has failed or not.
username java.lang.String sa false The user of the database.


Back to Top

Generate Change Log

Class Name com.midvision.rapiddeploy.plugins.database.liquibase.LiquibaseGenerateChangeLogTask
Category Liquibase

Generates Change Log file from existing database

Description

"When starting to use Liquibase on an existing database, it is often useful, particularly for testing,
to have a way to generate the change log to create the current database schema.
Liquibase allows you to do this with the “generateChangeLog” command."
See more Full liquibase generate change log documentation

Resources

The following resources may be set on this task:

Table of task Resources

Name Type Default Value Optional Description
changeLogFilePath java.lang.String path/to/changelog.xml false The root of all Liquibase changes.
changeLogFormat java.util.List xml false Change Log File format
databaseUrl java.lang.String jdbc:hsqldb:hsql://localhost:9001/rapiddeploydb false The JDBC URL of the database.
failOnError java.lang.Boolean true false This task will not fail the deployment on error if set to false.
generateChangeLogResultParam java.lang.String ${liquibaseGenerateChangeLogResult} false The name of the output parameter, which can pass the return value from the task. The task output will be the result of liquibase generate change log file process. Define a unique parameter name starting with '${', ending with '}' for the whole orchestration (latter tasks can override the parameter value if the same parameter name is specified). You can refer to this parameter in any task below in the tasklist, as an input parameter ${liquibaseGenerateChangeLogResult}.
generatedChangeLogPath java.lang.String path/to/report.out true You can specify the path to changes log file.
password java.lang.String sa false The password of the database.
skipOnFailure java.lang.String Previous Task Name true Skip current task based on the name of the previous task whether has failed or not.
username java.lang.String sa false The user of the database.


Back to Top

Liquibase Update

Class Name com.midvision.rapiddeploy.plugins.database.liquibase.LiquibaseUpdateTask
Category Liquibase

Applies database changes added to specified change log file.

Description

Applies database changes added to specified change log file..

"Liquibase reads the change sets in the change log file sequentially and compares the identifier to the values stored in the DatabaseChangeLog table.
If the identifier does not exist in the table, the change set is run and a new row is added to the DatabaseChangeLog table containing the identifier and an MD5Sum hash of the change set.


If the identifier already exists in the DatabaseChangeLog table, the MD5Sum of the change set as it currently exists is compared to the one in the database.
If they are different, Liquibase will either throw an error alerting you that someone has changed it unexpectedly, or re-executes it depending on the status of the runOnChange changeset attribute."


See more Full Liquibase update documentation

Remember to add database specific jar to MV_HOME/lib folder and then add it to your project plugin entries.

Resources

The following resources may be set on this task:

Table of task Resources

Name Type Default Value Optional Description
changeLogFilePath java.lang.String path/to/changelog.xml false The root of all Liquibase changes.
contexts java.lang.String   true Tags you can add to changeSets to control which will be executed in any particular migration run. Any string can be used for the context name and they are checked case-insensitively.
databaseUrl java.lang.String jdbc:hsqldb:hsql://localhost:9001/rapiddeploydb false The JDBC URL of the database.
failOnError java.lang.Boolean true false This task will not fail the deployment on error if set to false.
password java.lang.String sa false The password of the database.
skipOnFailure java.lang.String Previous Task Name true Skip current task based on the name of the previous task whether has failed or not.
updateResultParam java.lang.String ${liquibaseUpdateResult} false The name of the output parameter, which can pass the return value from the task. The task output will be the result of liquibase update process. Define a unique parameter name starting with '${', ending with '}' for the whole orchestration (latter tasks can override the parameter value if the same parameter name is specified). You can refer to this parameter in any task below in the tasklist, as an input parameter ${liquibaseUpdateResult}.
updateScriptPath java.lang.String path/to/generatedSQL.sql true If this path is specified - update task will run in "generate sql" mode. It will create new file containing sql commands.
username java.lang.String sa false The user of the database.


Back to Top

Rollback

Class Name com.midvision.rapiddeploy.plugins.database.liquibase.LiquibaseRollbackTask
Category Liquibase

Baselines an existing database

Description

Undo changes you have made to your database, either automatically or via custom rollback SQL

"Many refactorings such as “create table”, “rename column”, and “add column” can automatically create rollback statements.
If your change log contains only statements that fit into this category, your rollback commands will be generated automatically.

Other refactorings such as “drop table” and “insert data” have no corresponding rollback commands that can be automatically generated.
In these cases, and cases where you want to override the default generated rollback commands, you can specify the rollback commands via the tag within the changeSet tag.
If you do not want anything done to undo a change in rollback mode, use an empty tag."
See more Full liquibase rollback documentation

Resources

The following resources may be set on this task:

Table of task Resources

Name Type Default Value Optional Description
changeLogFilePath java.lang.String path/to/changelog.xml false The root of all Liquibase changes.
contexts java.lang.String   true Tags you can add to changeSets to control which will be executed in any particular migration run. Any string can be used for the context name and they are checked case-insensitively.
databaseUrl java.lang.String jdbc:hsqldb:hsql://localhost:9001/rapiddeploydb false The JDBC URL of the database.
dateToRollbackTo java.lang.String yyyyy-mm-dd hh:mm:ss true You can specify the date to roll back to.
failOnError java.lang.Boolean true false This task will not fail the deployment on error if set to false.
labels java.lang.String   true Labels are similar to contexts in that both allow you to chose a subset of changeSets to execute at runtime.
numberOfChangeSets java.lang.String   true You can specify the number of change-sets to rollback.
outputFilePath java.lang.String   true If specified rollback will run only in generate sql script mode.
password java.lang.String sa false The password of the database.
rollbackResultParam java.lang.String ${liquibaseRollbackResult} false The name of the output parameter, which can pass the return value from the task. The task output will be the result of liquibase rollback process. Define a unique parameter name starting with '${', ending with '}' for the whole orchestration (latter tasks can override the parameter value if the same parameter name is specified). You can refer to this parameter in any task below in the tasklist, as an input parameter ${liquibaseRollbackResult}.
rollbackScriptPath java.lang.String   true If specified rollback will run using this specific script.
rollbackTag java.lang.String   true Specifying a tag to rollback to will roll back all change-sets that were executed against the target database after the given tag was applied.
skipOnFailure java.lang.String Previous Task Name true Skip current task based on the name of the previous task whether has failed or not.
username java.lang.String sa false The user of the database.