The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
=head1 Name

sqitch-deploy - Deploy changes to a database

=head1 Synopsis

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

=head1 Description

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 C<--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 L<sqitch-revert>.

=head1 Options

=over

=item C<--to-target>

=item C<--target>

=item C<--to>

Specify the deployment target. Defaults to the last point in the plan. See
L<sqitchchanges> for the various ways in which change targets can be
specified.

=item C<--mode>

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

=over

=item C<all>

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

=item C<tag>

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.

=item C<change>

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.

=back

=item C<-s>

=item C<--set>

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


=back

=head1 Configuration Variables

=over

=item C<deploy.to_target>

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

=item C<deploy.mode>

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

=item C<[deploy.variables]>

A section defining database client variables. Useful if your database engine
supports variables in scripts, such as PostgreSQL's L<C<psql>
variables|http://www.postgresql.org/docs/9.2/static/app-psql.html#APP-PSQL-INTERPOLATION>.

=back

=head1 Sqitch

Part of the L<sqitch> suite.