The database waits. You need a new column, and you need it without risking downtime or breaking production.
Adding a new column should be a precise operation. It starts with defining the data type and constraints. Use ALTER TABLE when the table size is manageable, but analyze the impact before execution. Large tables can lock, so consider adding columns with a default NULL first, then updating values in batches. This avoids locking every row at once.
Always run changes in a migration script under version control. This keeps the database schema in sync across environments. Pair the schema migration with application code updates so no query or model references the column before it exists. Test in staging with realistic data volumes.
For columns that store indexed values, create the index after data backfill to avoid slowing inserts. Watch for potential increase in storage size and update backup routines accordingly. If your system uses replicas, replicate schema changes carefully to prevent lag or replication errors.