Changes for version 1.0.0 - 2019-06-04

  • Fixed test failure due to a hard-coded system error that may be localized on non-en-US hosts. Thanks to Slaven Rezić for the catch (#427).
  • Now require Test::MockModule 0.17 to silence a warning during testing. Thanks to Slaven Rezić for the suggestion.
  • Fixed an error when Sqitch is run with no arguments. Thanks to Henrik Tudborg for the report (#428).
  • Fixed missing dependency on IO::Pager in the distribution metadata.
  • Removed use of File::HomeDir, thanks to a PR from Karen Etheridge (#433).
  • Updated the tagline from "Sane database change management" to "Sensible database change management" out of sensitivity to those subject to mental illness (#435).
  • Removed double-quoting of SQLite commands on Windows, inadvertently added by the workaround for Windows quoting in v0.9999.
  • Fixed a Snowflake issue where Sqitch failed to recognize the proper error code for a missing table and therefore an uninitialized registry. Thanks to @lerouxt and @kulmam92 for the report and fix (#439).
  • Added check for project initialization when no engine config can be found. When run from a directory with no configuration, Sqitch now reports that the project is not initialized instead of complaining about a lack of engine config (#437).
  • Documented Snowflake key pair authentication in `sqitch-authentication`, as well as `$SNOWSQL_PRIVATE_KEY_PASSPHRASE` in `sqitch-environment`. Thanks to Casey Largent for figuring it out (#441).
  • Added the German localization. Thanks to Thomas Iguchi for the pull request (#451).
  • Renamed the French localization from "fr" to "fr_FR", so that systems will actually find it.
  • Added the `ask_yes_no()` method as a replacement for `ask_y_n()`, which is now deprecated. The new method expects localized responses from the user when translations are provided. Defaults to the English "yes" and "no" when no translation is available. Suggested by German translator Thomas Iguchi (#449).
  • Fixed a bug where only project without a URI was allowed in the registry. Thanks to Conding-Brunna for the report (#450).
  • Clarified the role of project URIs for uniqueness: They don't allow multiple projects with the same name, but do prevent the deployment of a project with the same name but different URI.
  • Fixed an issue where target variables could not be found when a target name was not lowercase. Thanks to @maximejanssens for the report (#454).
  • Now require Config::GitLike 1.15 or higher.
  • Fixed the indentation of variables emitted by the `show` actions of the `target` and `engine` commands, fixing a "Negative repeat count does nothing" warning in the process. Thanks to @maximejanssens for the report (#454).
  • Fixed a Snowflake test failure when the current system username has a space or other character requiring URI escaping. Thanks to Ralph Andrade for the report (#463).
  • Fixed an issue where a wayward newline in some versions of SQLite prevented Sqitch from parsing the version. Thanks to Kivanc Yazan for the report (#465) and the fix (#465)!
  • Fixed an error when Sqitch was run on a system without a valid username, such as some Docker environments. Thanks to Ferdinand Salis for the report (#459)!
  • When Sqitch finds the registry does not exist on PostgreSQL, it now sends a warning to the PostgreSQL log reporting that it will initialize the database. This is to reduce confusion for folks watching the PostgreSQL error log while Sqitch runs (#314).

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 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
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