Changes for version 1.2.0 - 2021-11-20
- Fixed partitioned search for deployed changes on Oracle and Exasol to correctly support plans with more than 250 changes. Thanks to @Nicqu for the report (#521).
- DBI connections to the registry will now be set to trace level one when a verbosity level of three or higher is passed to Sqitch (i.e., `sqitch -vvv`). Thanks to @wkoszek for the suggestion (#155).
- Renamed the "master" branch to "main" and updated all relevant references.
- Fixed the parsing of the Snowflake account name from the target URL to that it no longer strips out the region and cloud platform parts. Also deprecated the use of the region, host, and port config and environment variables. This is to comply with the new account name format. Thanks to @ldsingh00 for the report (#544).
- The checkout command will now show a usage statement when no branch name is passed to it, rather than a series of warnings and a Git error. Thanks to François Beausoleil for the report (#561).
- The checkout command now works when operating on a Sqitch project in a subdirectory of a Git project. Thanks to François Beausoleil for the report and suggested fix (#560).
- Fixed a failing bundle test when a top directory was configured in the user or system configuration. Thanks to @CodingMinds for the spot (#587).
- Added support to the Exasol engine for the `AUTHMETHOD` query parameter (to allow Open ID authentication) and the `SSLCERTIFICATE=SSL_VERIFY_NONE` query parameter to disable SSL verification. Thanks to Torsten Glunde for the report (#588).
- Fixed "Use of uninitialized value $engine in concatenation" error when Sqitch is unable to determine the engine when writing a plan file. Only happens in the rare case that the core.engine value is not set.
- Improved the error message when attempting to update a plan file and no project pragma is present. Thanks to Laurentiu Diaconu for the report (#577).
- Fixed the error message when attempting to deploy a change that has already been deployed to display the name of the change, rather than a memory address. Thanks to Neil Mayhew for the report (#579).
- Added destination locking, currently implemented for PostgresQL and MySQL. On starting a deploy or revert, Sqitch attempts to "lock the destination" using advisory locks, to ensure that only one instance of Sqitch makes changes to the database at any one time. This complements the existing locking, which applies as each change is deployed or reverted, as that pattern led to failures when multiple instances of Sqitch were working at once. Thanks to Neil Mayhew for the report (#579).
- Added the --lock-timeout option to the deploy, revert, rebase, and checkout commands, to allow for shorter or longer times to wait for an exclusive target database advisory lock for engines that support it. Defaults to 60 seconds.
- Fixed the behavior of the plan command's `--max-count` option when used with `--reverse` to show the proper items. Thanks to Adrian Klaver for the report (#517).
- Fixed an issue that could cause bugs with the `check` command on Firebird, Exasol, Oracle, and Vertica. Broken since the `check` command was added in v1.1.0.
Documentation
Sqitch add usage statement
Add a database change to plans
Guide to using database authentication credentials with Sqitch
Sqitch bundle usage statement
Bundle a Sqitch project for distribution
Sqitch check usage statement
Checks for divergences between planned and deployed changes.
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 deployment 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 script 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
Sensible 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 Exasol
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 Snowflake
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
Sensible database change management
Sqitch Command support
Add a new change to Sqitch plans
Bundle Sqitch changes for distribution
Runs various checks and prints a report
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 Exasol Engine
Sqitch Firebird Engine
Sqitch MySQL Engine
Sqitch Oracle Engine
Sqitch PostgreSQL Engine
Sqitch Snowflake 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
A command that connects to a target
A command that needs to know where things are
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