ObjectNameMustNotMatch

The ObjectNameMustNotMatch check allows you to confirm the listed object names conform to the supplied pattern and locate the object names that do not match so they can be corrected.

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 your object names do not fit naming conventions and that object names match the supplied pattern. This allows you to locate any object that does not match the criteria so that you can correct it. This gives you direct control over the object names and avoids 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 ObjectNameMustNotMatch check

To run the ObjectNameMustNotMatch 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 ObjectNameMustNotMatch check by running the following command in the CLI:

liquibase checks enable --check-name=ObjectNameMustNotMatch

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.

ObjectNameMustNotMatch configurable attributes

The following table identifies attributes that are configurable by ObjectNameMustNotMatch.

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.