Writing Database Migrations That Are Safe to Run on Every Deploy
Database changes run automatically with every release. Here is how we write migrations that are additive, guarded and safe for a database many custome...
7 posts
Database changes run automatically with every release. Here is how we write migrations that are additive, guarded and safe for a database many custome...
Not every change needs the full test suite, and every change needs the safety gates. Here is how we let each push choose a fast or full pipeline witho...
Sometimes the only way to understand a problem is to look at the live system. Here is how we inspect production safely, and why we never fix anything...
Many people and AI sessions often work in the same codebase at once. Here are the habits that keep their changes from colliding or erasing each other'...
A release is not finished when the code is copied to the server. Here are the health, smoke and log checks that tell us a release actually works.
When we publish pages, settings or articles for a website through code, the change runs once, checks its assumptions and never overwrites what the own...
We never deploy by logging into a server and running commands. Every change travels through the same automated pipeline. Here is why that discipline m...