January 19, 2019
Skeema’s command-line client is currently a stateless tool, typically run manually as needed. Some companies are starting to use it in an automated fashion, as part of a CI/CD pipeline, but this is currently difficult to configure.
Fortunately, automated CI/CD using Skeema is about to become a lot easier! Integration with GitHub’s API is currently under development, offering a fully pull-request driven model of schema management. You’ll be able to add the skeema.io application to your schema repo, providing automatic linting of new pull requests, and optionally automatic pushing of merged changes.
This system is designed to help DBAs and developers alike. The PR linter catches common table problems (invalid SQL, missing primary key, wrong storage engine, wrong character set, etc) and gives developers immediate feedback, so that DBAs can focus on more important aspects of schema review, such as performance implications. Meanwhile, the optional auto-push provides a way for schema changes to be applied without needing a manual run of a lengthy pt-online-schema-change command line. Combined with existing GitHub security features such as code owners and protected branches, you can configure a totally self-service workflow for some schemas/tables, and require DBA review/push for others.
You can apply for beta access to this functionality using the form below. Beta access for the skeema.io linter is expected to open later in Q1, and the auto-push tool sometime in Q2. Your email address will only be used to contact you about access to these two services; you will not be placed on a mailing list, so no need to worry about unwanted mail volume.