Liquibase Hub Projects
A Liquibase Hub Project is a structured collection of the resources used by Liquibase Community or Liquibase Pro 4.1+. An Organization can contain many Projects that include a list of your targets, changelogs with their changesets, and the Operations, which were run on the Project's database.
A Liquibase Community or Liquibase Pro 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
dropAll 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.
Note: You can create Liquibase Hub Projects from the CLI during the
registerChangeLog command process.
A target represents a database or schema where changes are made by using the Liquibase operations that are tracked by Liquibase Hub—
Targets include your JDBC URL, Target ID, the last operation with its date, time, and the changelog that was used for the Operation. You can see the Operations related to targets in more detail by selecting the specific target.
Additionally, the Targets view, which is similar to a single node in a pipeline, provides changesets that have been deployed to a target. The targets listed have Status, and when you select it, you will be directed to the changesets page, which shows all changesets that have successfully been deployed to a specific target.
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, two Organizations and Projects should not share the same local DATABASECHANGELOG table as this is the core element tracked by local Liquibase usage, which is synchronized and reported on at Liquibase Hub. Therefore, it is a best practice to register the changelogs to the same Project if your workflow shares the same DATABASECHANGELOG table.
Liquibase Hub relies on a unique identifier in your changelog, called
changeLogId, to synchronize the local deployments to your Liquibase Hub Projects. Run the
registerChangeLog command using Liquibase Community or Liquibase Pro 4.1+ to connect an XML or formatted SQL changelog to an existing or new Liquibase Hub Project. Also, you can use JSON and YAML changelog formats (since 4.2.1).
Note: If you use nested changelogs, register only the master changelog without registering its nested changelogs. For more information about nested changelogs, see Liquibase Best Practices.
Once you have run the
registerChangeLog command, it is a best practice to commit the changelog to source control and notify others who use this changelog to pull in changes, so that the same changelog cannot be registered with Liquibase Hub multiple times.