++ed by:

15 PAUSE users
16 non-PAUSE users.

David E. Wheeler


sqitch-deploy - Deploy changes to a database


  sqitch [options] deploy
  sqitch [options] deploy <target>
  sqitch [options] deploy --to-target <target>


Deploy changes to the database. Changes will begin from the current deployment state. They will run to the latest change, unless a target is specified, either via --to or with no option flag, in which case changes will be deployed up-to and including that target.

If the database it up-to-date or already deployed to the specified target, no changes will be made. If the target appears earlier in the plan than the currently-deployed state, an error will be returned, along with a suggestion to instead use sqitch-revert.



Specify the deployment target. Defaults to the last point in the plan.


Specify the reversion mode to use in case of failure. Possible values are:


In the event of failure, revert all deployed changes, back to the point at which deployment started. This is the default.


In the event of failure, revert all deployed changes to the last successfully-applied tag. If no tags were applied during this deployment, all changes will be reverted to the pint at which deployment began.


In the event of failure, no changes will be reverted. This is on the assumption that a change failure is total, and the change may be applied again.

Configuration Variables


Target to deploy to. You probably don't want to set this.


Deploy mode. The supported values are the same as for the --mode option.

Specifying Targets

A <target> option typically, but not necessarily, names a target object.

change, e.g, users_table

A change name.

@<tag>, e.g, @beta

A tag name.

<change>@<tag>, e.g, users_table@beta

A change as of the specified tag. Probably more useful, in general, just to deploy to the tag.


Part of the sqitch suite.