flow validate

flow validate lets you validate a series of commands contained in one or more stages, as configured in a Liquibase flow file. It is is similar to the validate command. It checks your flow file and identifies any possible errors that may cause the flow command to fail. This command is available in Liquibase 4.15.0 and later.

Uses

Use the flow validate command to ensure:

  • The YAML is structured correctly
  • Referenced files can be found
  • Referenced commands and parameters are valid

Note: The flow validate command only looks for possible errors in the flow file. It does not check for possible errors that might result from running the flow file on a specific database.

Syntax

To run the flow validate command, specify the driver, classpath, and URL in Liquibase properties file. For more information, see Create and Configure a liquibase.properties File. You can also specify these properties in your command line.

Then run the flow validate command:

liquibase flow validate

Parameters

Global parameters

Attribute Definition Requirement

--license-key=<string>

Your Liquibase Pro license key

Required

Command parameters

Attribute Definition Requirement

--flow-file=<string>

The path to the configuration YAML file which contains one or more "stages" of commands to be executed in a liquibase flow operation. Default: liquibase.flowfile.yaml.

Optional

--flow-file-strict-parsing=<true|false>

If true, parse flow file YAML to allow only Liquibase flow file-specific properties, indentations, and structures. Default: true.

Optional

--flow-shell-interpreter=<string>

The default interpreter used to execute shell commands. Examples include bash, sh, and cmd.

Optional

--flow-shell-keep-temp-files=<true|false>

If true, do not delete temporary files created by the shell command execution. Default: false.

Optional

Global parameters

Attribute Definition Requirement

globalArgs: { license-key: "<string>" }

Your Liquibase Pro license key

Required

Command parameters

Attribute Definition Requirement

cmdArgs: { flow-file: "<string>" }

The path to the configuration YAML file which contains one or more "stages" of commands to be executed in a liquibase flow operation. Default: liquibase.flowfile.yaml.

Optional

cmdArgs: { flow-file-strict-parsing: "<true|false>" }

If true, parse flow file YAML to allow only Liquibase flow file-specific properties, indentations, and structures. Default: true.

Optional

cmdArgs: { flow-shell-interpreter: "<string>" }

The default interpreter used to execute shell commands. Examples include bash, sh, and cmd.

Optional

cmdArgs: { flow-shell-keep-temp-files: "<true|false>" }

If true, do not delete temporary files created by the shell command execution. Default: false.

Optional

Global parameters

Attribute Definition Requirement

liquibase.licenseKey: <string>

Your Liquibase Pro license key

Required

Command parameters

Attribute Definition Requirement

liquibase.command.flowFile: <string>

liquibase.command.flow.validate.flowFile: <string>

The path to the configuration YAML file which contains one or more "stages" of commands to be executed in a liquibase flow operation. Default: liquibase.flowfile.yaml.

Optional

liquibase.command.flowFileStrictParsing: <true|false>

liquibase.command.flow.validate.flowFileStrictParsing: <true|false>

If true, parse flow file YAML to allow only Liquibase flow file-specific properties, indentations, and structures. Default: true.

Optional

liquibase.command.flowShellInterpreter: <string>

liquibase.command.flow.validate.flowShellInterpreter: <string>

The default interpreter used to execute shell commands. Examples include bash, sh, and cmd.

Optional

liquibase.command.flowShellKeepTempFiles: <true|false>

liquibase.command.flow.validate.flowShellKeepTempFiles: <true|false>

If true, do not delete temporary files created by the shell command execution. Default: false.

Optional

Global parameters

Attribute Definition Requirement

JAVA_OPTS=-Dliquibase.licenseKey=<string>

Your Liquibase Pro license key

Required

Command parameters

Attribute Definition Requirement

JAVA_OPTS=-Dliquibase.command.flowFile=<string>

JAVA_OPTS=-Dliquibase.command.flow.validate.flowFile=<string>

The path to the configuration YAML file which contains one or more "stages" of commands to be executed in a liquibase flow operation. Default: liquibase.flowfile.yaml.

Optional

JAVA_OPTS=-Dliquibase.command.flowFileStrictParsing=<true|false>

JAVA_OPTS=-Dliquibase.command.flow.validate.flowFileStrictParsing=<true|false>

If true, parse flow file YAML to allow only Liquibase flow file-specific properties, indentations, and structures. Default: true.

Optional

JAVA_OPTS=-Dliquibase.command.flowShellInterpreter=<string>

JAVA_OPTS=-Dliquibase.command.flow.validate.flowShellInterpreter=<string>

The default interpreter used to execute shell commands. Examples include bash, sh, and cmd.

Optional

JAVA_OPTS=-Dliquibase.command.flowShellKeepTempFiles=<true|false>

JAVA_OPTS=-Dliquibase.command.flow.validate.flowShellKeepTempFiles=<true|false>

If true, do not delete temporary files created by the shell command execution. Default: false.

Optional

Global parameters

Attribute Definition Requirement

LIQUIBASE_LICENSE_KEY=<string>

Your Liquibase Pro license key

Required

Command parameters

Attribute Definition Requirement

LIQUIBASE_COMMAND_FLOW_FILE=<string>

LIQUIBASE_COMMAND_FLOW_VALIDATE_FLOW_FILE=<string>

The path to the configuration YAML file which contains one or more "stages" of commands to be executed in a liquibase flow operation. Default: liquibase.flowfile.yaml.

Optional

LIQUIBASE_COMMAND_FLOW_FILE_STRICT_PARSING=<true|false>

LIQUIBASE_COMMAND_FLOW_VALIDATE_FLOW_FILE_STRICT_PARSING=<true|false>

If true, parse flow file YAML to allow only Liquibase flow file-specific properties, indentations, and structures. Default: true.

Optional

LIQUIBASE_COMMAND_FLOW_SHELL_INTERPRETER=<string>

LIQUIBASE_COMMAND_FLOW_VALIDATE_FLOW_SHELL_INTERPRETER=<string>

The default interpreter used to execute shell commands. Examples include bash, sh, and cmd.

Optional

LIQUIBASE_COMMAND_FLOW_SHELL_KEEP_TEMP_FILES=<true|false>

LIQUIBASE_COMMAND_FLOW_VALIDATE_FLOW_SHELL_KEEP_TEMP_FILES=<true|false>

If true, do not delete temporary files created by the shell command execution. Default: false.

Optional

Output

Flow file liquibase.flowfile.yaml is valid.
Liquibase command 'flow validate' was executed successfully.

Related links