When you need a new column in a production database, speed and precision matter more than anything. Every second you delay is another second engineers sit idle or users face errors. Adding a column is simple in theory, but the wrong approach can lock tables, drop performance, or even corrupt data.
First, decide if the new column requires a default value. For small tables, a default can be part of the initial migration. For large tables, set it null first, then backfill in batches to avoid long locks. Always assess the schema change impact on read and write performance.
Second, consider constraints and indexes. Adding an indexed new column during high traffic can cause downtime. If you need the index, create it after the column exists, and monitor the migration closely. Use tools like pt-online-schema-change or native database partitioning to keep operations online.