ObjectNameMustMatch

The ObjectNameMustMatch check allows you to confirm the listed object names conform to the supplied pattern.

Note: Checks require specific parameters noted in the table. Customizations to checks configuration are stored in the liquibase.checks-settings file.

Uses

Use the check to validate that object naming conventions adhered to and that object names match the supplied pattern. This ensures that you have direct control over their object names and avoid naming issues.

Note: It is important to note that Quality Checks for Databases are only compatible with Relational databases verified as Advanced. Learn more about Database Verification Levels here: Database Verification and Support

Run the ObjectNameMustMatch check

To run the ObjectNameMustMatch check, ensure you have a Liquibase Pro license, a valid url property that points to a live JDBC connection or a snapshot, and that the checks-scope property includes database. The checks-scope property is set in the default properties file, environment variable, or any standard method. Then check if any searchable object types match the supplied pattern. Enable the ObjectNameMustMatch check by running the following command in the CLI:

liquibase checks enable --check-name=ObjectNameMustMatch
Liquibase prompts you to establish a copy of this check and to initiate the customization work flow. To do this, select options for each of the attributes below in the CLI.

Note: This check can not be enabled directly because one or more fields does not have a default value. Creating a copy of this check initiates the customization work flow.

ObjectNameMustMatch configurable attributes

The following table identifies attributes that are configurable by ObjectNameMustMatch.

Name Type Description Customization Default Value
SEVERITY String/enum

Set the severity to return a code of 0–4 when the check is triggered.

  • 'INFO' | 0
  • 'MINOR' | 1
  • 'MAJOR' | 2
  • 'CRITICAL' | 3
  • 'BLOCKER' | 4

'INFO' | 0

OPERATOR String/enum

The location to look for the provided SEARCH_STRING value

  • STARTS_WITH – Value of SEARCH_STRING should be found at the beginning of the table.
  • ENDS_WITH – Value of SEARCH_STRING should be found at the end of the table.
  • CONTAINS – Value of SEARCH_STRING can be anywhere in the table.
  • REGEXP – Value of SEARCH_STRING is a regexp that should be matched.

STARTS_WITH

SEARCH_STRING String/enum

The substring or regular expression to match with the one in the changelog file. Cannot be empty.

When OPERATOR=REGEXP, SEARCH_STRING must be a valid regular expression. Otherwise, all characters are allowed

--
OBJECT_TYPES String/enum

The object types to check, separated by commas

TABLE, COLUMN, SEQUENCE

--
CASE_SENSITIVE Boolean

Set case sensitivity (options: true, false)

User entry of true or false is accepted case-insensitively

When operator=REGEXP, CASE_SENSITIVE prompt is not shown

true

Note: Liquibase uses the java.util.regex engine to match regular expressions.