Declarative pure-SQL schema management for MySQL and MariaDB
Skeema is a tool for managing MySQL and MariaDB schema changes in a declarative fashion using pure SQL. The Skeema CLI tool allows you to:
CREATE TABLE
statements to the filesystem, for tracking in a Git repopt-online-schema-change
, gh-ost
, or spirit
, for performing ALTER TABLE
Skeema supports a pull-request-based workflow for schema change submission, review, and execution. This permits your team to manage schema changes in exactly the same way as you manage code changes.
This repo is the free open source Community edition of the Skeema CLI. The Community edition supports management of tables and routines (procs/funcs). Builds are provided for Linux and MacOS.
The paid Premium edition of the Skeema CLI adds support for managing views and triggers, and also includes a native Windows build, built-in SSH tunnel functionality, and many other improvements.
For download links and more information, visit skeema.io.
Created and maintained by @evanelias, and developed with assistance from our many contributors and users.
Support for stored procedures and functions generously sponsored by Psyonix.
Support for partitioned tables generously sponsored by Etsy.
Source code copyright 2024 Skeema LLC and the Skeema authors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.