Liquibase Hub Operations

Operations are the records of Liquibase Community and Liquibase Pro activity, such as the various updates, rollbacks, changelogSync, and dropAll commands reported to a Liquibase Hub Project by a registered changelog. These operations are the primary data from which Liquibase Hub derives values.

Also, an operation is an action taken by Liquibase CLI on a source database. Liquibase Hub allows you to track when the operation starts, what it intends to do, its progress, and when it finishes if everything goes as expected.

All operations are related to an Organization and are performed in the context of a Project. Operations cannot be transferred from one Organization or Project to another.

In most cases, operations relate to changes performed on the database:

  • update – new changes are added.
  • rollback – new changes are added, reversing previous changes.
  • changelogSync – new changes are added but not deployed by Liquibase.
  • dropAll – new changes are added, dropping database objects owned by the user.

You can set the level of data, which you want to send to Liquibase Hub, in your liquibase.properties file:

liquibase.hub.mode:[all|meta|off]
  • all sends all data, including the changeset body, generated SQL, and logs (the default value is all).
  • meta does not send the changeset body, generated SQL, or operation-event and change-event logs. This mode sends the changeset name, author, id, timestamps, Liquibase version, and others.
  • off sends no data to Liquibase Hub.

Note: Alternatively, you can set the level of data specifying SET JAVA_OPTS="-DLiquibaseHubMode=[all|meta|off]" (the default value is all) for Windows, Linux, or MacOS.

Liquibase Hub commands

Liquibase Hub tracks the following commands:

Each command automatically synchronizes the local DATABASECHANGELOG table with the Liquibase Hub’s database and sends information to a Liquibase Hub Project. If the Internet connection is lost or Liquibase Hub doesn’t respond, Liquibase will still execute the commands and will not be blocked by a lack of the Liquibase Hub communication.

Also, there are two new commands specific to Liquibase Hub functionality:

For more information, see Using Commands in Liquibase Hub .

Reports

Liquibase Hub provides reports based on your Liquibase Community and Liquibase Pro activity. You can filter your Operation reports by Project, connections, operation type, date, result, changelog, or users.

The following reports are available:

The update Operation Report

The report based on the update operations is used to track changesets that were deployed, their execution status, timing, and various client and runtime parameters.

Liquibase Hub functionality includes the following:

  • Operation summary, which shows:
    • Connection information with the Liquibase Hub name of the connection, URL, user, and version of the database.
    • Client information with the Liquibase version, hostname, and interface, such as CLI, Maven (and others coming soon).
    • Operation parameters such as labels, contexts, tracking table schema, tracking table catalog.
    • Runtime information with a start time, end time, and total time of the changeset deployment.
  • changeset overview, which represents the changeset that was a part of your operation, its author, filepath, comment associated with that changeset, and outcome. The outcome of the execution is shown as Pending, Success, or Fail.
  • changeset details, which include a changeset title, id, author, filepath, and duration of running an individual changeset. changeset details are available if hub.mode=all:
    • changeset body – the actual data that was passed to Liquibase.
    • Generated SQL that was executed by Liquibase – the representation of the changeset that was run on the database.
    • Execution output – the log messages associated with the individual changesets.
    • Additional changeset attributes – the attributes that are specified in the changeset.

The Liquibase Hub Project associated with the changelog is updated both with a failed or passed operations for each changeset. It optionally includes the generated SQL executed by update.

The rollback Operation Report

The report based on the rollback operations presents the same details as the update operation report. However, it differs in the Operation Summary and changeset Details.

The Operation Summary includes:

  • Operation parameters – the exact rollback command that was run—rollbackOneUpdate, rollbackToDate, rollbackCount, or rollbackOneChangeSet.
  • Command parameters – parameter added to the rollback commands. For example, the update ID that you need to pass to Liquibase to run the rolbackOneUpdate command.

The changeset Details field shows whether the rollback is automatically generated or with the user details provided. For example, if the rollback source is User Defined, the changeset can include the following rollback information:

<!-- Rename table on rollback to preserve data -->
    <rollback>
       <renameTable oldTableName=”Favorites”
        newTableName=”ROLLBACK_FAVORITES”/>
    </rollback>

The Liquibase Hub Project associated with the changelog is updated both with a failed or passed rollback operations for each changeset. It optionally includes the generated SQL executed by rollback.

The changelogSync Operation Report

The report based on the changelogSync operation presents only the meta information. It doesn’t include changelog details or the generated SQL because the changelogSync command doesn’t make any changes to the database.

The changelogSync log output provides information about the changesets status.

Next up:

Liquibase Hub Organizations