Liquibase Hub Projects

A Liquibase Hub Project is a structured collection of the resources used by Liquibase Community or Liquibase Pro 4.1 and later versions. An Organization can contain many Projects that include a list of your Targets, changelogs with their changesets, and the Operations that were run on the Project's database.

A Liquibase app user with a valid Liquibase Hub API Key can register a changelog to a Project. Registering a changelog enables the Liquibase operations such as update, rollback, changelog-sync, and drop-all to be recorded and available for review as Operations reports in Liquibase Hub. For more information, see Liquibase Hub Operations.

All members of an Organization can create Projects, register their changelog to the Organization's Project, and send and view Operation data to these Projects. An Organization Admin can manage access to Projects in the Organization by adding or removing members from the Organization.

Creating a Project

To create a Liquibase Hub Project from the CLI, run the register-changelog command and enter C at runtime.

To create a Project from Liquibase Hub, select Projects > select your current Project > + Create Project:

Targets

A target represents a database or schema where changes are made by using the Liquibase operations that are tracked by Liquibase Hubupdate, rollback, changelog-sync, and drop-all. Targets include your JDBC URL, Target ID, the last operation with its date and time, changesets that have been deployed to a target, and the changelog used for the operation.

To see the operations related to a target in more detail, including changesets that have been deployed to a target, select View Status.

Targets in the DATABASECHANGELOG tracking table

Database schema changes to a specific target are stored in the local DATABASECHANGELOG tracking table that exists in that target, which is synchronized with its Liquibase Hub counterpart when working with a registered changelog. You cannot transfer target's data between Projects or Organizations, as it is automatically captured when you report commands to Liquibase Hub.

A Project can have multiple targets. However, do not share the same local DATABASECHANGELOG table for two Organizations and Projects. The DATABASECHANGELOG table is a core element tracked by local Liquibase usage, which is synchronized and reported on at Liquibase Hub. It is best practice to register the changelogs to the same Project if your workflow shares the same DATABASECHANGELOG table.

changelogs

Liquibase Hub relies on a unique identifier in your changelog, called changeLogId, to synchronize the local deployments to your Liquibase Hub Projects. Run the register-changelog command to connect your changelog to an existing or new Liquibase Hub Project. The changelog formats supported at Liquibase Hub are as follows:

  • SQL
  • XML
  • JSON (Liquibase 4.2.1 and later)
  • YAML (Liquibase 4.2.1 and later)

Tip: If you use nested changelogs, register only the root changelog without registering its nested changelogs. For more information about nested changelogs, see Best Practices.

Once you have run the register-changelog command, it is best practice to commit the changelog to source control. Notify others who use the changelog to pull in changes so that the same changelog is not registered with Liquibase Hub multiple times.

Next up:

Liquibase Hub Properties