Declarative pure-SQL schema management tool for MySQL and MariaDB using CREATE statements.
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.
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.
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.
Declarative pure-SQL schema management for MySQL and MariaDB
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.
Each database object is stored in its own file, allowing per-object history tracking via standard Git commands for better collaboration and version control.
Includes over 20 configurable linting rules and internal correctness guardrails to ensure generated DDL is always correct, making it suitable for CI pipelines.
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.
Community edition lacks support for views, triggers, events, and seed data management, requiring an upgrade to Premium for full database object coverage.
Skeema is limited to MySQL and MariaDB databases, making it incompatible with other database systems, which restricts its use in polyglot environments.
Setting up multi-environment management and online schema change tools requires detailed configuration, which can be overwhelming for teams new to declarative schema workflows.
Database migrations. CLI and Golang library.
World's most advanced database DevSecOps solution for Developer, Security, DBA and Platform Engineering teams. The GitHub/GitLab for database DevSecOps.
GitHub's Online Schema-migration Tool for MySQL
A database migration tool. Supports SQL migrations and Go functions.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.