Johannes Nicolai & Lilli Seyther-Besecke

Branch your database like your code: How schema changes and pull requests go hand in hand

What if you could branch, test, and merge database schema changes directly within a pull request? Now you can.

Branch your database like your code:  How schema changes and pull requests go hand in hand
#1about 2 minutes

Why database schema changes are harder than code changes

Traditional database schema migrations are imperative and stateful, making them fundamentally different and more complex than stateless code deployments.

#2about 7 minutes

How YouTube's scaling challenges led to the creation of Vitess

Vitess was created at YouTube to solve massive scaling problems by enabling horizontal sharding for MySQL and running it on Borg, the predecessor to Kubernetes.

#3about 8 minutes

The pain of merging database changes compared to Git

Unlike modern Git workflows, database schema changes often require manual review processes and can cause production downtime due to table locking and data dependencies.

#4about 2 minutes

Achieving non-blocking schema changes with shadow tables

Tools like GH-OST use shadow tables to apply schema changes to a copy of the table, sync ongoing writes, and perform an atomic cutover without locking production.

#5about 4 minutes

Applying a Git-like workflow to database schema changes

PlanetScale introduces database branches for isolated development and deploy requests, which function like pull requests for reviewing and merging schema changes safely.

#6about 5 minutes

Setting up a PlanetScale database with GitHub Actions

A live demonstration shows how to create a new repository from a template and use a GitHub Action to automatically provision a new PlanetScale database.

#7about 7 minutes

Creating a database branch from a GitHub pull request

This demo illustrates creating a pull request for a code change and then using a chat command to automatically create a corresponding database feature branch with a new schema.

#8about 5 minutes

Approving and merging schema changes via pull request comments

The demo concludes by showing how to review, approve, and merge a database deploy request directly from GitHub comments, triggering a non-blocking migration.

#9about 10 minutes

Exploring advanced Vitess features and answering questions

A summary of additional Vitess capabilities is followed by a Q&A session covering data residency, subquery performance, and deployment synchronization.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

Related Articles

View all articles
AG
Andre Braun, GitLab
Now is the time for industrialized software development
Now is the time for industrialized software development Recently, I received a letter from my car’s manufacturer alerting me to a recall. They had discovered a defective part and wanted to replace it. It was easily fixed, and I might have forgotten a...
Now is the time for industrialized software development
CH
Chris Heilmann
WeAreDevelopers LIVE days are changing - get ready to take part
Starting with this week's Web Dev Day edition of WeAreDevelopers LIVE Days, we changed the the way we run these online conferences. The main differences are:Shorter talks (half an hour tops)More interaction in Q&AA tips and tricks "Did you know" sect...
WeAreDevelopers LIVE days are changing - get ready to take part
CH
Chris Heilmann
With AIs wide open - WeAreDevelopers at All Things Open 2025
Last week our VP of Developer Relations, Chris Heilmann, flew to Raleigh, North Carolina to present at All Things Open . An excellent event he had spoken at a few times in the past and this being the “Lucky 13” edition, he didn’t hesitate to come and...
With AIs wide open - WeAreDevelopers at All Things Open 2025

From learning to earning

Jobs that call for the skills explored in this talk.

DevOps Engineering

DevOps Engineering

Stackmeister GmbH
Berlin, Germany

GIT
Azure
DevOps
Docker
Jenkins
+5