The product team needed a new column, and the clock was already against you.
Adding a new column sounds small, but the work ripples through your stack. The database migration must be precise. The code must handle old and new data without downtime. Tests must catch breaking queries before they hit production. And rollback paths must be clear if something fails mid-flight.
Start with the schema migration. Use a tool that supports transactional DDL, or plan for lock-free changes in high-traffic tables. Add the new column in a way that does not block reads and writes. Default values should be handled in application logic or with background backfill scripts to avoid long-running locks.
Update the ORM models and query builders next. Ensure every query that touches the table still runs within expected performance bounds. Old queries that select * may now pull extra data, so benchmark critical endpoints.