Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Database Tools
  3. Skeema

Skeema

Apache-2.0Gov1.13.2

Declarative pure-SQL schema management tool for MySQL and MariaDB using CREATE statements.

GitHubGitHub
1.4k stars104 forks0 contributors

What is Skeema?

Skeema is a declarative schema management tool for MySQL and MariaDB that uses pure SQL CREATE statements stored in files to define and manage database schemas. It enables teams to handle schema changes in a version-controlled, Git-based workflow, similar to how they manage code changes, by automatically generating DDL through diffs between live databases and schema repositories.

Target Audience

Database administrators, DevOps engineers, and development teams working with MySQL or MariaDB who need to manage schema changes in a collaborative, version-controlled environment. It is particularly suited for organizations adopting GitOps practices or CI/CD pipelines for database changes.

Value Proposition

Developers choose Skeema for its declarative, pure-SQL approach that integrates seamlessly with Git, enabling per-object history tracking and pull-request workflows. Its built-in safety mechanisms ensure generated DDL is always correct, and it offers configurable support for online schema change tools and linting rules to enforce schema design policies.

Overview

Declarative pure-SQL schema management for MySQL and MariaDB

Use Cases

Best For

  • Managing MySQL or MariaDB schema changes in a Git-based version control system with per-object history tracking.
  • Automating DDL generation by comparing live databases with schema files in a declarative workflow.
  • Implementing pull-request-driven schema change review and execution processes for team collaboration.
  • Integrating online schema change tools like pt-online-schema-change or gh-ost for non-disruptive ALTER TABLE operations.
  • Enforcing schema design standards and company policies through configurable linting rules in CI pipelines.
  • Synchronizing database schemas across multiple environments (e.g., dev, staging, prod) with ease.

Not Ideal For

  • Teams using database systems other than MySQL or MariaDB, such as PostgreSQL or SQLite.
  • Organizations requiring full management of views, triggers, and events without paying for the Premium edition.
  • Projects that prefer imperative, migration-based workflows (e.g., with Flyway) over a declarative approach.

Pros & Cons

Pros

Declarative SQL Workflow

Uses pure SQL CREATE statements stored in files, enabling automatic DDL generation through diffs between live databases and schema repositories, as emphasized in the README.

Git Integration and History

Each database object is stored in its own file, allowing per-object history tracking via standard Git commands for better collaboration and version control.

Built-in Safety Mechanisms

Includes over 20 configurable linting rules and internal correctness guardrails to ensure generated DDL is always correct, making it suitable for CI pipelines.

Online Schema Change Support

Configurable integration with tools like pt-online-schema-change or gh-ost for non-disruptive ALTER TABLE operations, with conditional usage based on table size or environment.

Cons

Premium Features Locked

Community edition lacks support for views, triggers, events, and seed data management, requiring an upgrade to Premium for full database object coverage.

MySQL/MariaDB Only

Skeema is limited to MySQL and MariaDB databases, making it incompatible with other database systems, which restricts its use in polyglot environments.

Complex Configuration

Setting up multi-environment management and online schema change tools requires detailed configuration, which can be overwhelming for teams new to declarative schema workflows.

Frequently Asked Questions

Quick Stats

Stars1,363
Forks104
Contributors0
Open Issues16
Last commit1 day ago
CreatedSince 2016

Tags

#declarative#devops#migrations#git-workflow#schema-diff#ci-cd#database-migrations#mariadb#mysql#schema-management#sql

Included in

Go169.1kDatabase Tools5.1kMySQL2.6k
Auto-fetched 16 hours ago

Related Projects

migratemigrate

Database migrations. CLI and Golang library.

Stars18,418
Forks1,576
Last commit1 month ago
BytebaseBytebase

World's most advanced database DevSecOps solution for Developer, Security, DBA and Platform Engineering teams. The GitHub/GitLab for database DevSecOps.

Stars13,948
Forks933
Last commit20 hours ago
gh-ostgh-ost

GitHub's Online Schema-migration Tool for MySQL

Stars13,323
Forks1,377
Last commit18 hours ago
goosegoose

A database migration tool. Supports SQL migrations and Go functions.

Stars10,600
Forks647
Last commit6 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub