For a summary of the most important changes in this release, see our blog post.
- Premium CLI now includes built-in support for SSH tunnels via the new ssh and ssh-to-db options. (#119)
- These options cover a wide range of SSH use-cases: bastion security servers / jump boxes, localhost admin database connections, running online schema change scripts from a unified Linux server, and more.
- Fully supports several OpenSSH configuration options from
~/.ssh/config
, interacting with OpenSSHssh-agent
via UNIX socket (Linux and MacOS) or named pipe (Windows),known_hosts
management, automatic keep-alives, multi-hop tunnels without need for agent forwarding, and more.
- MariaDB 10.8 is now fully supported, including descending indexes (
DESC
index parts), as well as functions with IN / OUT / INOUT param qualifiers (1454f21) - Skeema now fully supports database servers running on Windows or MacOS, regardless of object name casing or the database server's
lower_case_table_names
setting- Previously, Skeema had issues with database servers using
lower_case_table_names=1
(Windows default) orlower_case_table_names=2
(MacOS default) if any table, view, or database names used uppercase characters. These issues -- which related to the database's special handling of case-insensitive filesystems -- are now fixed, and Skeema's integration testing suite covers these situations. (#65, bdc279e) - New linter option lint-name-case can be used to enforce an all-lowercase table/view naming scheme, if desired for portability reasons (8cb30d0)
- Premium CLI contains view-specific fixes relating to name casing, in addition to the fixes already made in v1.7.1.
- Previously, Skeema had issues with database servers using
- MySQL 8 bug fix: due to a regression in Skeema v1.7.1, tables with nonstandard default collations (meaning the table's default charset has a different default collation than the table's chosen default collation) would inadvertently cause failures in the diff verify step. This was caused by unusual/inconsistent behavior in MySQL 8's
SHOW CREATE TABLE
and is now fixed by using a deeper structural comparison in the verify logic. Thank you to Etsy for the report! (#184, 8bde55a) skeema pull
now logs several problem conditions -- query failures, file I/O errors, etc -- as an error with exit code 2, instead of a warning with exit code 1. This is more consistent with how other commands handle these conditions. (2d3d7c4)- Other minor internal refactors and test suite fixes (0d5d476, d4022fc)
An installation guide and full documentation are available on our website skeema.io.