skeema

command module
v1.11.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 3, 2024 License: Apache-2.0 Imports: 23 Imported by: 0

README

Skeema

build status code coverage downloads latest release

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:

  • Export CREATE TABLE statements to the filesystem, for tracking in a Git repo
  • Diff changes in the schema repo against live DBs to automatically generate DDL
  • Manage multiple environments (e.g. dev, staging, prod) and keep them in sync with ease
  • Configure use of online schema change tools, such as pt-online-schema-change, gh-ost, or spirit, for performing ALTER TABLE
  • Apply configurable linter rules to proactively catch schema design problems and enforce company policies

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.

Products and downloads

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.

Documentation

Credits

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.

License

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.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
applier
Package applier obtains diffs between the fs and db versions of a schema, and can handle execution of the generated SQL.
Package applier obtains diffs between the fs and db versions of a schema, and can handle execution of the generated SQL.
dumper
Package dumper handles writing SQL statements, obtained from objects in a live schema, to files in a directory.
Package dumper handles writing SQL statements, obtained from objects in a live schema, to files in a directory.
fs
linter
Package linter handles logic around linting schemas and returning results.
Package linter handles logic around linting schemas and returning results.
tengo
Package tengo (Go La Tengo) is a database automation library.
Package tengo (Go La Tengo) is a database automation library.
workspace
Package workspace provides functions for interacting with a temporary MySQL schema.
Package workspace provides functions for interacting with a temporary MySQL schema.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL