The database schema had to change, and the fix was a new column. Nothing else would solve it. The data model was too brittle, the queries too slow, the product blocked until the change shipped.
A new column sounds simple. It rarely is. Choosing the right name matters. The type must fit the data now and in the future. Nullability shapes every query. Default values affect migrations. Because once you add a new column, it becomes part of your contract with every service, every API, every call that touches the table.
In production systems, a new column is not just an ALTER TABLE statement. You need a plan. Add the column without locking the table. Backfill in batches to avoid performance spikes. Update application code to write to the new column only after the data is synced. Deploy in steps so reads, writes, and background jobs agree on the state.