The schema just broke. You need a new column, and you need it without taking the system down.
Adding a new column should be simple. But in production, bad planning here can mean hours of downtime, locked tables, and blocked requests. The cost is real. The safest route is to design migrations that create new columns without locking reads or writes for longer than necessary.
First, decide on the column definition. Know the data type, nullability, default value, and indexing requirements. Avoid adding non-nullable columns with defaults in one step; this can cause a full table rewrite. Instead, add the column as nullable, backfill in batches, then enforce constraints.
Use your database’s online DDL features when available. In MySQL, ALGORITHM=INPLACE or ALGORITHM=INSTANT can help. In PostgreSQL, adding a nullable column without a default is metadata-only and instant. For large datasets, always benchmark in staging with production-like size.