Name

sqitch-verify - Verify deployed database changes

Synopsis

sqitch [options] verify
sqitch [options] verify --from-target <target>
sqitch [options] verify --to-target <target>
sqitch [options] verify --from-target <target> --to-target <target>

Description

Verify that a database is valid relative to the plan and the verification scripts for each deployed change.

More specifically, verify iterates over all deployed and planned changes (or the subset identified by --from-target and/or --to-target) and checks that each:

  • Is deployed.

  • Is present in the plan.

  • Was deployed in the proper order.

  • Passes its verify test, if one exists.

Verify tests are scripts that may be associated with each change. If a change has no verify script, a warning is emitted, but it is not considered a failure.

Verify scripts should make no assumptions about the contents of the database, as unit tests might. Rather, their job is to ensure that the state of a database is correct after a deploy script has completed. Verify scripts are run through the database engine command-line client, just like deploy and revert scripts. They should cause the client to exit with a non-zero exit code if they fail.

Options

--from-target
--from

Specify the change target with which to start the verification. Defaults to the earliest deployed change. See sqitchchanges for the various ways in which change targets can be specified.

--to-target
--to

Specify the change target with which to complete the verification. Defaults to the last deployed change. See sqitchchanges for the various ways in which change targets can be specified.

-s
--set

Set a variable name and value for use by the database engine client, if it supports variables. The format must be name=value, e.g., --set defuser='Homer Simpson'. Overrides any values loaded from the verify.variables configuration.

Configuration Variables

[verify.variables]

A section defining database client variables. Useful if your database engine supports variables in scripts, such as PostgreSQL's psql variables and SQL*Plus's DEFINE variables.

Sqitch

Part of the sqitch suite.