sqitch-engine(3pm)

✨ NAME ✨

sqitch-engine β€” bestie, this is the one that lets you manage your database engine configuration πŸ’… it ships as part of the User Contributed Perl Documentation and lives in your terminal as sqitch-engine(3pm), iykyk πŸŽ€


🌈 SYNOPSIS 🌈

okay so here's literally every shape this command comes in:

sqitch engine
sqitch engine [-v | --verbose]
sqitch engine add <name> [engine-options]
sqitch engine alter <name> [engine-options]
sqitch engine remove <name>
sqitch engine show <name>

no arguments = just vibes and a list. with an action = we're doing something. πŸ¦‹


🧚 DESCRIPTION 🧚

So the whole point of this thing is managing the database engines you deploy to. Here's the full roster of supported engines, and yes you can pick your fave:

  • firebird
  • mysql
  • oracle
  • pg
  • sqlite
  • vertica
  • exasol
  • snowflake
  • cockroach
  • clickhouse

Every single engine can carry a bunch of properties, and they are:

  • target β€” the name or URI of the database target 🎯 heads up bestie: if the value is a URI, the engine inside that URI has to match the engine you're adding or altering. no mismatches allowed, it's giving strict. the default is db:$engine. if you want the whole tea on target configuration, go see sqitch-target. πŸ’–
  • registry β€” the name of the registry schema or database πŸ—‚οΈ defaults to sqitch.
  • client β€” the command-line client to use πŸ–₯️ if you don't specify one, each engine goes looking through the OS Path for an appropriate client. it'll find its own friend, don't worry.
  • top_dir β€” the path to the top directory for the engine πŸ“ this is generally where the plan file lives, plus the subdirectories for deploy, revert, and verify scripts, and also the reworked instances of those scripts. default is ., aka the current directory. shmoopy little home base 🌸
  • plan_file β€” the plan file to use for this engine πŸ“ default is $top_dir/sqitch.plan.
  • deploy_dir β€” the path to the deploy directory for the engine πŸš€ this contains all the deploy scripts referenced by changes in the plan_file. default is $top_dir/deploy.
  • revert_dir β€” the path to the revert directory for the engine βͺ this contains all the revert scripts referenced by changes in the plan_file. default is $top_dir/revert.
  • verify_dir β€” the path to the verify directory for the engine βœ… this contains all the verify scripts referenced by changes in the plan_file. default is $top_dir/verify.
  • reworked_dir β€” the path to the reworked directory for the engine πŸ” this contains all subdirectories for all reworked scripts referenced by changes in the plan_file. default is $top_dir.
  • reworked_deploy_dir β€” the path to the reworked deploy directory for the engine πŸŒ€ this contains all of the reworked deploy scripts referenced by changes in the plan_file. default is $reworked_dir/deploy.
  • reworked_revert_dir β€” the path to the reworked revert directory for the engine 🌊 this contains all of the reworked revert scripts referenced by changes in the plan_file. default is $reworked_dir/revert.
  • reworked_verify_dir β€” the path to the reworked verify directory for the engine πŸ’« this contains all of the reworked verify scripts referenced by changes in the plan_file. default is $reworked_dir/verify.
  • extension β€” the file name extension to append to change names to create script file names πŸ“Ž default is sql.
fr fr, every one of these overrides the corresponding core configuration β€” think core.target, core.plan_file, core.registry, and core.client. so like, the engine-level setting is the main character and the core one is, respectfully, the understudy. πŸ‘‘

✨ OPTIONS ✨

πŸ’… List Option

  • -v, --verbose β€” be more verbose when listing engines πŸ‘€
sqitch engine --verbose

πŸŽ€ Add and Alter Options

  • --top-dir β€” specifies the top directory to use for the engine πŸ“‚ typically contains the deployment plan file and the change script directories.
sqitch engine add pg --top-dir sql
  • --plan-file, -f β€” specifies the path to the deployment plan file πŸ“ defaults to $top_dir/sqitch.plan.
sqitch engine add pg --plan-file my.plan
  • --extension β€” specifies the file name extension to use for change script file names πŸ“Ž defaults to sql.
sqitch engine add pg --extension ddl
  • --dir β€” sets the path to a script directory πŸ“ may be specified multiple times. the supported keys are:
    • deploy
    • revert
    • verify
    • reworked
    • reworked_deploy
    • reworked_revert
    • reworked_verify
sqitch engine add pg --dir deploy=dep --dir revert=rev --dir verify=tst
sqitch engine add pg --target db:pg:widgets
  • --registry β€” 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.
sqitch engine add pg --registry meta
  • --client β€” specifies the path to the command-line client for the engine πŸ–₯️ defaults to a client in the current path named appropriately for the engine.
sqitch engine add pg --client /usr/local/pgsql/bin/psql
  • -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, like --set defuser='Homer Simpson'.

πŸ¦‹ ACTIONS πŸ¦‹

With no arguments, it shows you a list of the existing engines πŸ“‹ and honestly there are several actions available to perform operations on the engines:

🌟 add

Add an engine named <name> for the database at <uri>. The --set option specifies engine-specific properties. A new plan file and new script script directories will be created if they don't already exist. so it just builds the little house for you if there isn't one yet, cute 🏠

🌟 alter

Alter an engine 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, rm

Remove the engine named <name> from the configuration. The plan file and script directories will not be affected 😌 so breathe, bestie, your files are safe.

🌟 show

Gives some information about the engine <name>, including the associated properties πŸ” specify multiple engine names to see information for each. multi-engine info dump, slay ✨


🌸 CONFIGURATION VARIABLES 🌸

The engines are stored in the configuration file πŸ—„οΈ but the command itself currently relies on no configuration variables. so like, nothing to set here, go off πŸ’…


πŸ‘‘ SQITCH πŸ‘‘

Part of the sqitch suite. 🫢


okay that's the whole page, and before you go β€” this was built from perl v5.40.1 and it's dated 2026-07-26, so if you're reading this from the future, hi, hope the engines are all cooperating πŸ’– periodt.

πŸ“¦ where this page comes from