The logs told the truth: a missing column in the database was breaking everything downstream. There was only one way forward—add the new column fast, clean, and without risking production data.
A new column is never just a database change. It’s a contract update between services, jobs, and APIs. Done wrong, it can trigger deployment rollbacks, data mismatches, or subtle bugs that surface weeks later. Done right, it becomes a non-event in your release cycle.
Start with explicit migration scripts. Whether you’re using SQL directly or a migration tool, define the new column with clear data types, sensible defaults, and nullability rules. Never assume downstream services will handle surprises.
Deploy schema changes in phases. Add the column first, but don’t start writing to it until every dependent service is updated. This prevents writes from failing or incorrect data from propagating. Use feature flags to control writes and reads where possible.