A new column. Simple in theory. Dangerous in practice. Adding a column to a live production database is rarely trivial. Downtime risks. Migrating billions of rows. Query performance hits. Index updates. Backfill logic that can choke the system if not planned.
A new column changes the contract between your data and your code. You must decide if it allows NULLs, what default value it takes, and how it affects existing queries. If the database is large, an ALTER TABLE can lock writes for seconds or hours depending on the engine.
Avoid this by using a phased migration strategy. First, add the column with minimal locking—many databases have ADD COLUMN operations that skip rewriting all rows when a default is not set. Then deploy code that writes to the new column without reading from it. Backfill data in small batches to reduce load. Finally, switch reads to the new column once the backfill is complete.