Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/skeema/skeema
Declarative pure-SQL schema management for MySQL and MariaDB
https://github.com/skeema/skeema
diff-tables golang mariadb mysql schema-changes schema-management schema-migrations
Last synced: 29 days ago
JSON representation
Declarative pure-SQL schema management for MySQL and MariaDB
- Host: GitHub
- URL: https://github.com/skeema/skeema
- Owner: skeema
- License: apache-2.0
- Created: 2016-10-31T23:18:56.000Z (about 8 years ago)
- Default Branch: main
- Last Pushed: 2024-09-26T23:37:02.000Z (about 1 month ago)
- Last Synced: 2024-09-28T11:04:21.167Z (about 1 month ago)
- Topics: diff-tables, golang, mariadb, mysql, schema-changes, schema-management, schema-migrations
- Language: Go
- Homepage:
- Size: 8.46 MB
- Stars: 1,264
- Watchers: 29
- Forks: 100
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-go - skeema - Pure-SQL schema management system for MySQL, with support for sharding and external online schema change tools. (Database / Database Schema Migration)
- awesome-mysql - Skeema - Declarative pure-SQL schema management system for MySQL and MariaDB, with support for sharding and external online schema change tools (Development)
- awesome - skeema/skeema - Declarative pure-SQL schema management for MySQL and MariaDB (Go)
- awesome-go - skeema - Pure-SQL schema management system for MySQL, with support for sharding and external online schema change tools. Stars:`1.3K`. (Database / Database Schema Migration)
- awesome-go-extra - skeema - SQL schema management for MySQL and MariaDB|1048|93|23|2016-10-31T23:18:56Z|2022-08-05T20:49:13Z| (Generators / Database Schema Migration)
README
[![Skeema](https://www.skeema.io/img/logo.png)](https://www.skeema.io)
[![build status](https://img.shields.io/github/actions/workflow/status/skeema/skeema/tests.yml?branch=main)](https://github.com/skeema/skeema/actions)
[![code coverage](https://img.shields.io/coveralls/skeema/skeema.svg)](https://coveralls.io/r/skeema/skeema)
[![downloads](https://img.shields.io/github/downloads/skeema/skeema/total.svg)](https://github.com/skeema/skeema/releases)
[![latest release](https://img.shields.io/github/release/skeema/skeema.svg)](https://github.com/skeema/skeema/releases)Skeema is a tool for managing MySQL and MariaDB schema changes in a [declarative](https://www.skeema.io/blog/2019/01/18/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](https://www.skeema.io/docs/features/osc/), such as `pt-online-schema-change`, `gh-ost`, or `spirit`, for performing `ALTER TABLE`
* Apply [configurable linter rules](https://www.skeema.io/docs/features/safety/) to proactively catch schema design problems and enforce company policiesSkeema 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 command-line tool. The Community edition supports management of [**tables**](https://www.skeema.io/docs/features/tables/) and [**routines**](https://www.skeema.io/docs/features/routines/) (procs/funcs). Builds are provided for Linux and MacOS.
The paid [Premium edition](https://www.skeema.io/download/) of the Skeema CLI adds support for managing [**views**](https://www.skeema.io/docs/features/views/), [**triggers**](https://www.skeema.io/docs/features/triggers/), and [**events**](https://www.skeema.io/docs/features/events/). It also includes a native **Windows build**, built-in [**SSH tunnel**](https://www.skeema.io/docs/features/ssh/) functionality, [**seed data**](https://www.skeema.io/docs/features/seeddata/) management, and many other improvements.
For download links and more information, visit [skeema.io](https://www.skeema.io/download/).
## Documentation
Page | Description
--- | ---
[Installation](https://www.skeema.io/docs/install/) | How to install the Skeema CLI tool
[Getting started](https://www.skeema.io/docs/examples/) | Usage examples and screencasts
[Requirements](https://www.skeema.io/docs/requirements/) | Supported database systems and required database privileges
[Features](https://www.skeema.io/docs/features/) | How Skeema interacts with each type of database object, and various feature-specific topics
[Configuration guide](https://www.skeema.io/docs/config/) | Option handling, config file format, and command-line option usage
[Command reference](https://www.skeema.io/docs/commands/) | Usage instructions for each command in the Skeema CLI
[Option reference](https://www.skeema.io/docs/options/) | Detailed information on every Skeema option
[Schema change workflow](https://www.skeema.io/docs/workflow/) | Recommended flow for pull-request-driven schema changes
[Pipelines and automation](https://www.skeema.io/docs/automation/) | Integrating Skeema into automated workflows
[Recipes](https://www.skeema.io/docs/recipes/) | Using Skeema to achieve common schema management tasks
[FAQ](https://www.skeema.io/docs/faq/) | Frequently asked questions about Skeema## Credits
Created and maintained by [@evanelias](https://github.com/evanelias), and developed with assistance from our many [contributors](https://github.com/skeema/skeema/graphs/contributors) and [users](https://www.skeema.io/about/).
Support for stored procedures and functions generously sponsored by [Psyonix](https://psyonix.com).
Support for partitioned tables generously sponsored by [Etsy](https://www.etsy.com).
## License
**Source code copyright 2024 Skeema LLC and the Skeema authors**
```text
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 athttp://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.
```