Changelog Quality Checks

The Quality Checks for changelogs are only available with a Liquibase Pro license key. These checks allow you to confirm the presence of specific objects and conditions in the changelog to ensure its integrity. To execute these quality checks and improve the quality of your changelog changes, use the quality checks listed below. To learn how to apply your checks to a specific scope, see the checks-scope parameter.

For more information about using quality checks, see Quality Checks.

changelog Checks

Short Name Description Enabled by Default
ChangeDropColumnWarn This check warns a user when a column is being dropped so that they can ensure that such a schema change won't lead to unintentional loss of data and unrecoverable data loss. true
ChangeDropTableWarn This check warns a user when a table is being dropped so that they can ensure that dropping the table won't lead to unintentional data loss. true
ChangesetCommentCheck This check enforces the Liquibase best-practice recommendation to assign comments to every changeset to document the purpose of a changeset for other/future consumers of this changelog. true
ChangesetContextCheck This check enforces the Liquibase best-practice recommendation to assign a context to every changeset to provide better deployment control and to enhance traceability and granularity of deployments across changesets. true
ChangesetLabelCheck This check enforces the Liquibase best-practice recommendationto assign labels to every changeset to provide better deployment control and to enhance traceability and granularity of deployments across changesets. true
ChangeTruncateTableWarn This check warns a user when a table is being truncated so that they can ensure this change will not lead to unintentional data loss. true
CheckTablesForIndex This check scans your target URL database tables to find tables which do not have an associated index. true
DetectChangeType

This changelog check warns a user when a changeset includes a Change Type listed by the user as forbidden.

Note: This check applies only to model-based changelogs such as XML, YAML, and JSON. It does not apply to SQL changelogs.

true
ModifyDataTypeWarn This check warns a user when a change will result in modification of a data type so they can ensure this change will not lead to unintentional data loss. true
OneChangePerChangeset This check enforces the Liquibase Best Practice of keeping individual changesets small by limiting them to one statement or change. true
PatternAFollowedByPatternB

This check allows you to check for specific patterns in your changelog and then produce a logged record of changeset structure when certain conditions are met.

 
PatternANotFollowedByPatternB This check allows you to check for specific patterns in your changelog and then produce a logged record of changeset structure when certain conditions are met.  
PatternANotPrecededByPatternB This check allows you to check for specific patterns in your changelog and then produce a logged record of changeset structure when certain conditions are met.  
PatternAPrecededByPatternB

This check allows you to check for specific patterns in your changelog and then produce a logged record of changeset structure when certain conditions are met.

 
PrimaryKeyOnCreateTable This check warns when a create table action does not also include a primary key. true
RequireChangesetDisUUID This check alerts you when a changeset ID does not follow the 8-4-4-4-12 pattern of UUID or GUID. false
RollbackRequired This check enforces the Liquibase best-practice recommendation to include rollbacks to every changeset. true
SQLGrantAdminWarn This check warns a user when a SQL contains 'GRANT' statements that include the 'WITH ADMIN OPTION' clause so that they can ensure that the privilege being granted won't lead to security issues or violate compliance regulations. true
SQLGrantOptionWarn This check warns a user when SQL contains 'GRANT' statements that include the 'WITH GRANT OPTION' clause so that they can ensure that the privilege being granted won't lead to security issues or violate compliance regulations. true
SqlGrantSpecificPrivsWarn This check warns a user when a changeset includes or generates sql that grants specific privileges to a user or role. false
SqlGrantWarn This check warns a user when a SQL contains 'GRANT' statements so that they can ensure that the privilege being granted won't lead to security issues. true
SQLRevokeWarn This check warns a user when a SQL contains 'REVOKE' statements so that they can ensure that the privilege being revoked won't lead to data access and dependency issues. true
SqlSelectStarWarn This check warns a user when generated or raw SQL contains 'SELECT *' statements so that they can ensure selecting all fields from a table in a query is safe and necessary. true
SqlUserDefinedPatternCheck This check scans SQL for the presence of specific patterns and warns the user when they are found. false
WarnOnUseDatabase This check warns a user when generated or raw SQL contains 'USE DATABASE' directive. true