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

Changes for version 0.9996 - 2017-07-17

  • Fixed an error where Oracle sometimes truncated timestamp formats so that date parsing failed. Thanks to Johann Wilfling for the report and @nmaqsudov for the solution (#316).
  • Added pager configuration, prioritizing the new `core.pager` configuration variable over the `$PAGER` environment variable. The new `$SQITCH_PAGER` environment variable trumps all. Thanks to Yati Sagade for the pull request (#329).
  • Documented the `core.editor` configuration variable.
  • Updated PostgreSQL registry detection to avoid errors when not running Sqitch as a superuser and the registry schema already exists. Done by looking for the `changes` table in the `pg_tables` view instead of looking for the registry schema in the `pg_namespace` catalog table, and by using `CREATE SCHEMA IF NOT EXISTS` on PostgreSQL 9.3 and higher. Thanks to @djk447 for the pull request (#307).
  • Updated PostgreSQL registry detection to avoid errors when the `psql` client is newer than the server version. Sqitch now fetches the version from the server instead of parsing it from the client.
  • Specifying a change before a target name on the command-line no longer ignores the target (#281).
  • The `--db-*` options are now more consistently applied to a target, including when the target is specified as a URI (#293).
  • `HEAD` and `ROOT` are now properly recognized as aliases for `@HEAD` and `@ROOT`, when querying the database. This was supposedly done in v0.991, but due to a bug, it wasn't really. Sorry about that.
  • The `revert` and `verify` commands will now fail if a change is specified and matches multiple changes. This happens when referencing a reworked change only by its name. In this case, Sqitch will emit an error listing properly tag-qualified changes to use. Suggested by Jay Hannah (#312).
  • Sqitch no longer returns an error when a target name is passed to a command and the default target's plan file does not exist (#324).
  • Added missing options to the `rework` usage statement. Thanks to Jay Hannah for the PR (#342).
  • Passing an engine name or plan file as the `<database>` parameter to the `log`, `status`, and `upgrade` commands now works correctly, matching what the documention has said for some time (#324).
  • Added the `--target` option to the `plan` and `show` commands.
  • Added the `<database>` parameter to the `plan` command.
  • Sqitch now loads targets from all config files, not just the local file, when trying to determine if a `<database>` parameter is a plan file name.
  • Improved the error message when a change is found more than once in a plan, typically a reworked changed referenced only by name. The error will no longer be "Key at multiple indexes", but "Change is ambiguous. Please specify a tag-qualified change:", followed by a list of tag-qualified variants of the change.
  • Fixed a bug where the verify command would return a database error when it finds no registory. Now it reports that the registry wasn't found in the database.

Documentation

Sqitch add usage statement
Add a database change to plans
Sqitch bundle usage statement
Bundle a Sqitch project for distribution
Sqitch checkout usage statement
Revert, checkout another VCS branch, and re-deploy changes
Sqitch config usage statement
Get and set local, user, or system Sqitch options
Hierarchical engine and target configuration
Sqitch deploy usage statement
Deploy changes to a database
Sqitch engine usage statement
Manage database engine configuration
Environment variables recognized by Sqitch
Sqitch help usage statement
Display help for Sqitch and Sqitch commands
Sqitch init usage statement
Create a new Sqitch project
Sqitch log usage statement
Show Sqitch change logs
Guide to using database passwords with Sqitch
Sqitch plan usage statement
Show planned database changes
Sqitch rebase usage statement
Revert and redeploy database changes
Sqitch revert usage statement
Revert changes to a database
Sqitch rework usage statement
Rework a database change
Sqitch show usage statement
Show object information or change file contents
Sqitch status usage statement
Show the current deployment status of a database
Sqitch tag usage statement
Create or list tag objects
Sqitch target usage statement
Manage target database configuration
Sqitch upgrade usage statement
Upgrade the registry to the current version
Sqitch verify usage statement
Verify deployed database changes
Sane database change management
Specifying changes for Sqitch
List of common sqitch commands
List of common Sqitch guides
A tutorial introduction to Sqitch change management on Firebird
A tutorial introduction to Sqitch change management on MySQL
A tutorial introduction to Sqitch change management on Oracle
A tutorial introduction to Sqitch change management on SQLite
A tutorial introduction to Sqitch change management on Vertica
A tutorial introduction to Sqitch change management on PostgreSQL
Sqitch usage statement

Modules

Sane database change management
Sqitch Command support
Add a new change to Sqitch plans
Bundle Sqitch changes for distribution
Revert, change checkout a VCS branch, and redeploy
Get and set local, user, or system Sqitch options
Deploy Sqitch changes to a database
Add, modify, or list Sqitch database engines
Display help information about Sqitch
Initialize a Sqitch project
Show a database event log
List the changes in the plan
Revert and redeploy Sqitch changes
Revert Sqitch changes from a database
Rework a Sqitch change
Show Sqitch changes to a database
Display status information about Sqitch
Add or list tags in Sqitch plans
Add, modify, or list Sqitch target databases
Upgrade the Sqitch registry
Verify deployed Sqitch changes
Sqitch configuration management
Sqitch DateTime object
Sqitch Deployment Engine
Sqitch Firebird Engine
Sqitch MySQL Engine
Sqitch Oracle Engine
Sqitch PostgreSQL Engine
Sqitch SQLite Engine
Sqitch Vertica Engine
Format events and changes for command output
Sqitch Deployment Plan
Sqitch deployment plan blank line
Sqitch deployment plan tag
Sqitch deployment plan change list
Sqitch dependency specification
Sqitch deployment plan line
Sqitch deployment plan line list
Sqitch deployment plan blank line
Sqitch deployment plan tag
An engine based on the DBI
A command that reverts and deploys
A command that handles target-related configuration
Sqitch deployment target
Definition of attribute data types
Sqitch Exception class