Deploying multiple schema changes at once
Aug 29, 2023Shlomi Noach

Summary
This post introduces the concept of near-atomic, multi-change deployments for database schema changes. It explains the technical challenges of applying multiple schema changes as a single unit, especially when dealing with long-running operations and inter-dependencies between changes. The post details how PlanetScale leverages Vitess's online schema change emulation and the `schemadiff` library to orchestrate concurrent execution of schema modifications, ensuring that all changes are staged and applied together, minimizing the window of schema inconsistency. It also discusses the benefits of this approach, such as reduced risk, improved control over deployment timing, and the ability to cancel deployments without impacting production.