Adding a new column in a production database is not just a technical step. It is a decision with consequences for performance, consistency, and deployment pipelines. Before typing ALTER TABLE, confirm why the new column exists. Is it computed or stored? Indexed or not? Nullable or required? Each choice maps directly to cost and query speed.
When planning, measure the size of the table and the execution plan for the migration. Some databases lock writes on ALTER TABLE. Others require background migrations. For high-traffic systems, use phased rollouts. Create the column with a safe default. Backfill in small batches to avoid locking and replication lag. Then deploy the code that reads from it, followed by code that writes to it.
Schema migrations should be tested in staging on production-like data. This catches edge cases in indexes, triggers, and constraints. Watch for failed writes or replication delays in monitoring dashboards. Keep rollback plans ready.