sqitch-target - Manage target database configuration
sqitch target
sqitch target [-v | --verbose]
sqitch target add <name> <uri> [-s <property>=<value> ...]
sqitch target alter <name> [-s <property>=<value> ...]
sqitch target remove <name>
sqitch target rename <old> <new>
sqitch target show <name> [...]
Manage the set of databases ("targets") you deploy to. Each target may
have a number of properties:
- "uri"
- The database connection URI for the target. Required. Its format is:
db:engine:[dbname]
db:engine:[//[user[:password]@][host][:port]/][dbname][?params][#fragment]
Some examples:
- "db:sqlite:widgets.db"
- "db:pg://dba@example.net/blanket"
- "db:mysql://db.example.com/"
- "db:firebird://localhost//tmp/test.fdb"
See the DB URI Draft <https://github.com/theory/uri-db> for
details.
- "registry"
- The name of the registry schema or database. The default is
"sqitch".
- "client"
- The command-line client to use. If not specified, each engine looks in the
OS Path for an appropriate client.
- "top_dir"
- The path to the top directory for the target. This directory generally
contains the plan file and subdirectories for deploy, revert, and verify
scripts, as well as reworked instances of those scripts. The default is
., the current directory.
- "plan_file"
- The plan file to use for this target. The default is
"$top_dir/sqitch.plan".
- "deploy_dir"
- The path to the deploy directory for the target. This directory contains
all of the deploy scripts referenced by changes in the
"plan_file". The default is
"$top_dir/deploy".
- "revert_dir"
- The path to the revert directory for the target. This directory contains
all of the revert scripts referenced by changes in the
"plan_file". The default is
"$top_dir/revert".
- "verify_dir"
- The path to the verify directory for the target. This directory contains
all of the verify scripts referenced by changes in the
"plan_file". The default is
"$top_dir/verify".
- "reworked_dir"
- The path to the reworked directory for the target. This directory contains
all subdirectories for all reworked scripts referenced by changes in the
"plan_file". The default is
$top_dir.
- "reworked_deploy_dir"
- The path to the reworked deploy directory for the target. This directory
contains all of the reworked deploy scripts referenced by changes in the
"plan_file". The default is
"$reworked_dir/deploy".
- "reworked_revert_dir"
- The path to the reworked revert directory for the target. This directory
contains all of the reworked revert scripts referenced by changes in the
"plan_file". The default is
"$reworked_dir/revert".
- "reworked_verify_dir"
- The path to the reworked verify directory for the target. This directory
contains all of the reworked verify scripts referenced by changes in the
"plan_file". The default is
"$reworked_dir/verify".
- "extension"
- The file name extension to append to change names to create script file
names. The default is "sql".
Each of these overrides the corresponding engine-specific
configuration managed by engine.
- List Option
- "-v"
- "--verbose"
-
sqitch engine --verbose
Be more verbose when listing engines.
- Add and Alter Options
- "--uri"
-
sqitch target add devwidgets --uri db:pg:widgets
Specifies the URI <https://github.com/theory/uri-db/> of
the target database.
- "--top-dir"
-
sqitch target add devwidgets --top-dir sql
Specifies the top directory to use for the target. Typically
contains the deployment plan file and the change script directories.
- "--plan-file"
-
sqitch target add devwidgets --plan-file my.plan
Specifies the path to the deployment plan file. Defaults to
"$top_dir/sqitch.plan".
- "--extension"
-
sqitch target add devwidgets --extension ddl
Specifies the file name extension to use for change script
file names. Defaults to "sql".
- "--dir"
-
sqitch target add devwidgets --dir deploy=dep --dir revert=rev --dir verify=tst
Sets the path to a script directory. May be specified multiple
times. Supported keys are:
- "deploy"
- "revert"
- "verify"
- "reworked"
- "reworked_deploy"
- "reworked_revert"
- "reworked_verify"
- "--registry"
-
sqitch target add devwidgets --registry meta
Specifies the name of the database object where Sqitch's state
and history data is stored. Typically a schema name (as in PostgreSQL
and Oracle) or a database name (as in SQLite and MySQL). Defaults to
"sqitch".
- "--client"
-
sqitch target add devwidgets --client /usr/local/pgsql/bin/psql
Specifies the path to the command-line client for the target.
Defaults to a client in the current path named appropriately for the
engine specified by the URI.
With no arguments, shows a list of existing targets. Several actions are
available to perform operations on the targets.
Add a target named "<name>" for the
database at "<uri>". The
"--set" option specifies target-specific
properties. A new plan file and new script script directories will be created
if they don't already exist.
Alter target named "<name>". The
"--set" option specifies engine-specific
properties to set. New script script directories will be created if they don't
already exist.
Remove the target named "<name>". The
plan file and script directories will not be affected.
Rename the target named "<old>" to
"<new>".
Gives some information about the target
"<name>", including the associated
properties. Specify multiple target names to see information for each.
The targets are stored in the configuration file, but the command itself
currently relies on no configuration variables.
Part of the sqitch suite.