copy

The copy subcommand copies a customizable check so that you can run the same check multiple times with different parameters.

Uses

If you want to run the same check with different values, use copy to make a new version with new values. If enabled, both checks will be run in the same execution.

For example, you can make two copies of the check that scans SQL:

  • SQL should not contain COPY DATABASE
  • SQL should not contain ALTER USER

Liquibase does not allow you to copy static checks because they do not include customization options, and having the same check is redundant.

Note: To view a list of available checks, run liquibase checks show.

Running the copy command

The command is interactive, and you need to follow the CLI output messages to execute it:

  1. Run the command specifying your values:
  2. liquibase checks copy --check-name=TableColumnLimit

    Note: If you have a checks settings file customized for a specific environment or project, you need to pass that using the --checks-settings-file parameter. If you do not include this parameter, Liquibase uses the default settings file: liquibase.checks-settings.conf.

  3. Enter the name of the check copy using alphanumeric characters. Also, the name of the copy should differ from the original name.

The command will add the copy of a check to the checks settings file. To execute the check, use the run.

copy command attributes

Tip: All commands and parameters use the --kebab-case format in the CLI environment. This is the format Liquibase recommends for best results. If your preference is camelCase, it will still work in the CLI.

Name Syntax Description
checks-settings-file

CLI:

--checks-settings-file

Property:

liquibase.command.checks.copy.checksSettingsFile

Environment Variable:

LIQUIBASE_COMMAND_CHECKS_COPY_CHECKS_SETTINGS_FILE

The parameter which specifies the needed checks settings file to work with subcommands.

Set the checks-settings-file parameter to the relative path of the checks-settings-file that you want to read from or modify.

For more information, see Using the Checks Settings Configuration File.

check-name

CLI:

--check-name

Property:

liquibase.command.checks.copy.checkName

Environment Variable:

LIQUIBASE_COMMAND_CHECKS_COPY_CHECK_NAME

The parameter which you must specify so that any of the following subcommands being executed can perform its function:

  • copy
  • customize
  • delete
  • disable
  • enable
  • reset

Set the check-name parameter to the short name for the check you want to target with one of the subcommands.

auto-update

CLI: --auto-update=[on|off]

Property: liquibase.command.checks.copy.autoUpdate: [on|off]

Environment Variable: LIQUIBASE_COMMAND_CHECKS_COPY_AUTO_UPDATE=[ON|OFF]

The parameter which allows automatic backup and updating of the liquibase.check-settings.conf file when new quality checks are available.

Default: off

Related links