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

Changes for version 0.9993 - 2015-08-17

  • Bug Fixes
    • Eliminated test failures due to warnings from DateTime::Locale when `LC_TIME` is set to C.UTF-8. Thanks to Shantanu Bhadoria for the report and Dave Rolsky for the workaround.
    • Fixed an error checking the registry version when the local uses a comma for decimal values. Thanks to Steffen Müller for the report (Issue #234).
    • Worked around an error setting the MySQL storage engine using versions of DBI prior to 1.631. Thanks to melon-babak for the report!
    • Fixed an error from the Oracle engine when deploying more than 1000 changes. Thanks to Timothy Procter and Minh Hoang for the report and testing the fix.
    • Fixed a bunch of typos in error messages, comments, and documentation. Thanks to Dmitriy for the pull request!
    • Fixed test failures due to new warnings from File::Path on Perl 5.23.1.
    • On Firebird, Looking up a change and tag in the database (via the `--onto` option to `rebase` or the `--to` option to `revert`, among others) would sometimes return the incorrect change if the change has been reworked two or more times. Was fixed for the other engines in v0.9991.
    • Fixed the `--all` option used to apply a command to all known targets so that it loads only targets specified by the local configuration. Otherwise, user and system configuration can get in the way when they specify engines and targets not used by the current project.
  • Improvements
    • Added support for the `--set` option when deploying to MySQL. Thanks to Chris Bandy for figuring out how to do it!
    • Added support for a "reworked directory". By default, reworked change scripts live in the deploy, revert, and verify directories along with all the other change scripts. But if that starts to get too messy, or you simply don't want to see them, add a `reworked_dir` setting to the core, engine, or target config and reworked scripts will be stored there, instead. Also supported are `reworked_deploy_dir`, `reworked_revert_dir`, and `reworked_verify_dir`.
    • Added the `--dir` option to the `init`, `engine`, and `target` commands.
    • Copied the core configuration options (`--engine`, `--target`, `--plan-file`, `--registry`, etc.) to the `init`, `engine`, and `target` commands. This means that they can be specified after the command, which is a bit more natural. It also means that the `--registry` and `--client` options of the `target` are no longer deprecated.
    • The `init` command on longer writes out commented values for the `deploy_dir`, `revert_dir`, or `verify_dir` settings. I think these settings are not commonly used, and it would start to get crowded if we also added their "reworked" variants, which will be used still less.
    • Added the `alter` action to the `engine` and `target` commands to set engine and target properties.
    • Added support for setting reworked directories to the `engine` and `target` commands.
    • Reformatted the output of the `engine` and `target` command `show` actions to include reworked directories, and to bit a bit less flat.
    • Attempting to add or alter an engine with a target URI that connects to a different engine now triggers an error. For example, you can't set the target for engine `pg` to `db:sqlite:`.
    • The `add` and `alter` actions of the `engine` and `target` commands now create script directories if they don't already exist.
    • The `add` action of the `engine` and `target` commands now creates a plan file if one does not exist in the specified location for the engine or target.
    • Added the `deploy_dir`, `revert_dir`, and `verify_dir` methods to App::Sqitch::Plan::Change. Each points to the proper directory for the target depending on whether or not the change has been reworked.
    • In the MySQL engine, the following URI query params will be converted to options passed to the command-line client, if they're present:
      • mysql_compression=1 => --compress
      • mysql_ssl=1 => --ssl
      • mysql_connect_timeout => --connect_timeout
      • mysql_init_command => --init-command
      • mysql_socket => --socket
      • mysql_ssl_client_key => --ssl-key
      • mysql_ssl_client_cert => --ssl-cert
      • mysql_ssl_ca_file => --ssl-ca
      • mysql_ssl_ca_path => --ssl-capath
      • mysql_ssl_cipher => --ssl-cipher
  • Documentation
    • Added the "Overworked" section to sqitch-configuration guide with an example of how to move reworked change scripts into a `reworked_dir`.
  • Deprecations
    • Deprecated the `set-*` actions in the `engine` and `target` commands in favor of the new `alter` action.
    • The core `--deployed-dir`, `--revert-dir`, and `--verify-dir` options are deprecated in favor of the `--dir` option on the `init`, `engine`, and `target` command.

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