You needed a new column in the database, but the staging branch was already live, and the deadline was close.
Adding a new column sounds simple. In production systems, it never is. Schema changes ripple through services, APIs, and pipelines. They trigger downtime if handled carelessly. They break builds if not coordinated. They derail deployments if the order of operations is wrong.
A safe new column workflow starts with backward-compatible changes. Add the column first without removing the old one. Keep default values sensible. Avoid blocking writes with heavy locks; in SQL, this often means using ADD COLUMN with NULL allowed, followed by async backfill.
Next, update application code to read from both columns or prefer the new one while still writing to the old until full migration is possible. Roll this out incrementally to reduce risk and catch issues early.