Blog

Managing Data Migrations and other Imperative Changes

Skeema uses a declarative design for schema management, representing the desired state of database objects as a collection of CREATE statements. This model works extremely well for DDL, but it doesn’t directly capture imperative changes, such as row data migrations. In this post, we’ll cover the underlying concepts and show a few approaches for managing imperative changes when using Skeema.

Continue reading

Skeema v1.12.0 released

Skeema v1.12.0 is now available! Our newest release adds support for the latest MySQL and MariaDB LTS version series, managing scheduled events in the Premium CLI, and automatic detection of index renaming in diffs.

Continue reading

Five Surprises in MySQL 8.4 LTS

MySQL’s new long-term support (LTS) version series, MySQL 8.4, had its first release at the end of April. In this post, we’ll review a few unexpected developments in this latest server version.

Continue reading

MySQL 5.7 to 8.0: Schema and DDL Changes

MySQL 5.7 reached its end-of-life in October 2023, and managed database products such as Amazon RDS are starting to transition to expensive “extended support” pricing for 5.7 users. Before you jump on a last-minute MySQL 8 upgrade, it is essential to understand the major functional differences between these database versions. In this post, we’ll provide a deep-dive on the upgrade implications for schema management and DDL operations.

Continue reading

Versioning and Deploying Stored Procedures

Stored procedures are a powerful database feature. However, they’re also somewhat controversial, in part due to operational challenges with their development workflow and lifecycle. In this post, we’ll review Git version control and deployment concepts for stored procedures, along with practical solutions when using Skeema.

Continue reading

Skeema v1.11.0 released

Skeema v1.11.0 has been released! This new version includes spatial index support, safe trigger DDL operations with table locking, new options to ignore some types of table differences, and additional safety guardrails.

Continue reading

MySQL vs MariaDB: Tables and DDL

Although MySQL and MariaDB share a common ancestry, their functionality has diverged in subtle ways over the years. In this post, we’ll explore the differences in DDL and schema-related features of these two database servers, as well as operational concerns when performing schema changes.

Continue reading

Skeema v1.10.0 released

Skeema v1.10.0 is now available! Our latest release adds support for managing seed data in the Premium CLI, as well as several linter enhancements and more.

Continue reading

Skeema v1.9.0 released

Skeema v1.9.0 has been released! This new version includes support for environment variables in option files, temp-schema workspace offloading in Premium CLI, improved ignore regex options, and support for this month’s new MariaDB releases including MariaDB 10.10.

Continue reading

Understanding MySQL's lower_case_table_names

When running database servers on multiple operating systems, data and schema portability can be challenging due to identifier case sensitivity differences. The lower_case_table_names server variable in MySQL and MariaDB can help, but it is often misunderstood. In this post, I’ll provide in-depth guidance on this tricky subject, and show how Skeema can assist.

Continue reading