./databases/p5-App-Sqitch, Sensible database change management

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 1.4.1, Package name: p5-App-Sqitch-1.4.1, Maintainer: schmonz

Sqitch is a VCS-aware SQL change management application. What makes
it different from your typical migration-style approaches? A few

* No opinions
* Native scripting
* VCS integration
* Dependency resolution
* No numbering
* Bundling
* Reduced duplication

Required to run:
[textproc/p5-String-ShellQuote] [www/p5-URI] [www/p5-Template-Toolkit] [misc/p5-Locale-libintl] [databases/p5-DBI] [databases/p5-DBD-SQLite] [lang/perl5] [time/p5-DateTime] [devel/p5-IO-Pager] [devel/p5-Scalar-List-Utils] [devel/p5-List-MoreUtils] [devel/p5-Path-Class] [devel/p5-Devel-StackTrace] [devel/p5-Clone] [devel/p5-Sub-Exporter] [devel/p5-IPC-Run3] [devel/p5-Hash-Merge] [devel/p5-SUPER] [devel/p5-namespace-autoclean] [devel/p5-IPC-System-Simple] [devel/p5-Class-XSAccessor] [devel/p5-Try-Tiny] [devel/p5-Config-GitLike] [textproc/p5-Template-Tiny] [devel/p5-Throwable] [textproc/p5-Encode-Locale] [devel/p5-Moo] [textproc/p5-String-Formatter] [www/p5-URI-db] [devel/p5-PerlIO-utf8_strict] [devel/p5-Type-Tiny] [devel/p5-Type-Tiny-XS] [devel/p5-Algorithm-Backoff]

Required to build:
[textproc/p5-Text-Diff] [databases/p5-DBD-SQLite] [devel/p5-Test-Exception] [devel/p5-Test-NoWarnings] [devel/p5-Module-Build] [devel/p5-Test-Deep] [devel/p5-Test-File-Contents] [devel/p5-Test-MockObject] [devel/p5-Test-MockModule] [devel/p5-Capture-Tiny] [devel/p5-Module-Runtime] [devel/p5-Test-Dir] [devel/p5-Test-File] [devel/p5-Test-Exit]

Package options: sqlite

Master sites: (Expand)

Filesize: 625.928 KB

Version history: (Expand)

CVS history: (Expand)

   2024-02-04 19:58:59 by Amitai Schleier | Files touched by this commit (2)
Log message:
p5-App-Sqitch: Update to 1.4.1. Changes:

- Removed the quoting of the role and warehouse identifiers that was
  added to the Snowflake engine in v1.4.0. Turns out Snowflake allows a
  warehouse to be specified in a different database, in which case dots
  are valid in the name and should not be quoted! So users must properly
  quote when necessary, but added notes to `sqitchtutorial-snowflake.pod`
  on the need to use URI escapes for special characters. Thanks to
  Patrick Sabo for the find, and to @marc-marketparts for validating
  that URI encoding works.
- Added notes on URL encoding database URLs to `sqitch-target.pod`, the
  main reference for database URLs in the Sqitch documentation.
- Fixed the output of the list of changes to be deployed or reverted to
  actually require `--verbose` twice, as described in the v1.4.0 changes,
  and not just once. Thanks to Erik Wienhold for the PR (#785)!
- Removed the duplicate change name from the output of the list of
  changes to be deployed or reverted with `-VV`. Thanks to Erik Wienhold
  for the PR (#787)!
- Fixed invalid template resolution when adding a singe change to
  multiple engines at once. Thanks to Christian Riedel for the detailed
  bug report (#795)!
- Fixed Oracle and Firebird test failures due to incorrect use of `chmod`.
  Thanks to Slaven Rezić for the report and the fix (#807)!
- Tests now require Test::Warn 0.31 or later, as newline handling issues
  cause test failures in earlier versions. Thanks to Slaven Rezić for the
  test reports and for identifying the issue.
- Updated the locale configuration to fix issues in more recent versions
  of Perl, and added tests to ensure that the sqitch CLI executes and
  properly emits localized messages (except on Windows, where the language
  codes are incompatible).
- Fixed an issue where the MySQL engine failed to recognize the MariaDB
  `mysql` client installed by Homebrew on macOS. Thanks to Carlos Ramos
  for the bug report and PR (#791)!
   2023-08-02 14:06:16 by Amitai Schleier | Files touched by this commit (2)
Log message:
Update to 1.4.0. From the changelog:

- Fixed Snowflake warehouse and role setup to properly quote identifiers
  unless they're valid unquoted identifiers or already quoted. Thanks to
  @marc-marketparts for the report (#685).
- Fixed a bug reworking a change when a rework directory is configured
  but not created. Thanks to @jfeaver for the report (#686).
- Output the list of changes to be deployed or reverted when `--verbose`
  is specified at least twice. Thanks to @vectro for the PR (#702).
- Fixed the formatting of the log and plan commands to allow empty or `0`
  separators in lists of things (such as `%{0}t` for a list of tags).
  Thanks to @web-vertalo for the pull request (#703).
- Updated the MySQL Tutorial to use 5.7 features. Thanks to Vlad
  Safronov for the PR (#705).
- Deprecated the `no_prompt` and `no_prompt` attributes of
  App::Sqitch::Engine in favor of passing booleans to the `revert` and
  `verify` methods. The attributes still exist for reverse compatibility,
  but now emit warnings and will be removed in the future. Thanks to
  Thanks to @vectro for the PR (#704).
- Added a warning for a double extension on the file names created
  by the `add` command. Thanks to @blairjordan for the PR (#724)!
- Added the `revert.strict` boolean configuration variable which, when
  set to true, requires the specification of a change to revert to. It
  also disables the `rebase` and `checkout` commands, though the
  `rebase.strict` and `checkout.strict` variables, respectively, may
  override it. Use `revert.strict` to prevent accidental reverts in
  sensitive environments. Thanks to @vectro for the PR (#719; revised in
- Fixed test failures due to a bug fix in the Perl URI module
  (libwww-perl/URI#13). Thanks to @bobfang for the report (#744)!
- Fixed test failures due to a change in the generation of DBI DSN by
  URI::Oracle introduced by libwww-perl/URI-db#23.
- Added a format option `%F` to `sqitch plan` that prints the path for
  the deploy file for each migration in the plan.
- Changed the default location for the Oracle `sqlplus` client when the
  `ORACLE_HOME` environment variable is set. It now returns either
  `$ORACLE_HOME/bin/sqlplus` or `$ORACLE_HOME/sqlplus` if it exists
  and is executable (and ends in `.exe` on Windows). Otherwise it simply
  returns `sqlplus` as before, assuming it will be found in the path.
  Thanks to @vectro for the suggestion (#747).
- Increased the required version of DBI to 1.631 or higher and removed
  a MySQL engine workaround for older versions.
- Added detection of a missing registry schema on connect and conditions
  to avoid querying it when it does not exist. Fixes an issue where
  Sqitch might find a project record in the current schema instead of the
  expected registry schema. Thanks to @vectro for the report and
  investigation (#668)!
- Fixed Snowflake and MySQL to properly raise errors on session query
  failures immediately after connection.
- Fixed the handling of unique violations for deploy script hash
  uniqueness so that it no longer returns a database error but properly
  reports the issue in a more human-friendly error message. Thanks to
  Stefan Badenhorst for the reminder (#630).
- Updated the registry SQL scripts for Vertica to always enable primary
  key and unique constraints. Unique constraints are now enabled for
  all database engines except Exasol and Snowflake.
- Dropped support for Vertica 7.1, as unique constraint enforcement was
  not added until Vertica 7.2.
- Increased minimum SQLite versions to 3.8.6, when unique constraint
  enforcement was added.
- Removed remaining uses of the smartmatch operator, thus eliminating
  the Perl 5.38 warnings about its deprecation. (#769)
- Added Cockroach to the list of valid engines recognized in command-line
  arguments (and a test to ensure new engines won't be omitted in the
  future). Thanks to @NOBLES5E for the spot (#772)!
   2023-07-06 11:43:03 by Thomas Klausner | Files touched by this commit (2483)
Log message:
*: recursive bump for perl 5.38
   2023-06-06 14:42:56 by Taylor R Campbell | Files touched by this commit (1319)
Log message:
Mass-change BUILD_DEPENDS to TOOL_DEPENDS outside mk/.

Almost all uses, if not all of them, are wrong, according to the
semantics of BUILD_DEPENDS (packages built for target available for
use _by_ tools at build-time) and TOOL_DEPEPNDS (packages built for
host available for use _as_ tools at build-time).

No change to BUILD_DEPENDS as used correctly inside buildlink3.

As proposed on tech-pkg:
   2022-10-03 01:51:06 by Amitai Schleier | Files touched by this commit (2)
Log message:
Update to 1.3.1. From the changelog:

- Fixed a bug introduced in v1.3.0 where the Postgres engine would
  always pass the port to `psql`, thus ignoring the `PGPORT` environment
  variable. Thanks to Cam Feenstra for the spot (#675)!
- Fixed test failures on OSes where the local time zone cannot be
  determined. Thanks to Slaven Rezić for the test reports, and to
  Dave Rolsky for the solution (#672).
- Updated the MySQL deploy/revert lock to be specific to the target
  database. This allows multiple instances of Sqitch to run at the
  same time on the same server as long as they're connecting to different
  databases. Thanks to Dmytro Kh for the report and discussion of the
  options (#670).
- Fixed test failures where DBD::Mem was not installed. Likely only
  occurred on some CPAN Testers nodes. Thanks to Slaven Rezić for those
- Banned the backslash character (`\`) in change and tag names. It would
  be ignored on Unix-style systems, but create unexpected subdirectories
  on Windows systems.
- Banned the slash character (`/`) in tag names. They're still allowed
  in change names to enable script organization, but can wreak havoc
  when used in tag names. Thanks to @ewie for the report (#680)!
   2022-08-14 19:21:50 by Amitai Schleier | Files touched by this commit (3) | Package updated
Log message:
Update to 1.3.0. From the changelog:

- Fixed an issue when testing Firebird on a host with Firebird installed
  but no `isql`, and when using a local Firebird (e.g., the Engine12
  provider), which allows only one connection at a time. Thanks to Slaven
  Rezić for the the reproducible configuration (#597).
- Tweaked the Postgres engine to support Yugabyte. The only unsupported
  features are explicit locks, so users need to manually ensure that only
  one instance of Sqitch is updating the cluster at a time.
- Added support for CockroachDB. Almost exactly the same as for Postgres,
  so the new App::Sqitch::Engine::cockroach class extends
  App::Sqitch::Engine::pg to make a few changes. The SQL files with
  the registry DDL varies in a few ways, so they're separate.
- Now require URI::db v0.20 for Cockroach and Yugabyte URI support.
- Dropped support for MySQL 5.0.
- Added explicit sorting for aggregated lists (such as the tags associated
  with a commit) to the MySQL, Exasol, Snowflake, and Postgres (8.4 and
  higher) engines.
- Fixed slow deploys on MariaDB thanks to fractional timestamp support
  added in 5.03.05. Thanks to @rbrigot for the PR (#658)!
- Fixed a bug where destination locking failed on the first deploy to
  MySQL. Bug introduced along with destination locking in v1.2.0.
  Thanks Tom Bloor the report and to Alberto Simões for the help
  replicating the issue (#601).
- Removed the `sqitch engine update-config` action, originally added for
  compatibility reasons in 2014, and the prompt to use it was removed as
  of 0.9999 in 2019.
- Fixed a warning when searching for the Firebird client on Windows.

pkgsrc changes:

- Enable 'sqlite' by default to pass the self-tests.
   2022-06-28 13:38:00 by Thomas Klausner | Files touched by this commit (3952)
Log message:
*: recursive bump for perl 5.36
   2021-12-06 13:48:15 by Amitai Schleier | Files touched by this commit (2)
Log message:
Update to 1.2.1. From the changelog:

- Updated all the live engine tests, aside from Oracle, to test with
  unique registry names, so as to avoid conflicts when multiple
  instances are being tested at once. Thanks to Slaven Rezić for the
  report (#597).
- Removed `local` directory from the distribution, accidentally included
  in v1.2.0. Thanks to gregor herrmann for the report (#600).