The table should have a new column, but the migration is risky. Data lives in production, and every change can break something you can’t afford to fix after launch. Schema changes demand precision, speed, and a clear rollback path.
A new column isn’t just a field. It’s a point where queries evolve, APIs change, and integrations must adapt. Adding it requires full awareness of indexing impacts, default values, null handling, and how existing workloads might be affected. The work begins before writing SQL—review the schema, map dependencies, test locally with realistic datasets.
In most workflows, you create the column with ALTER TABLE. But that command in production can lock writes, delay read queries, and spike CPU usage. Instead, you use non-blocking migrations. Break the change into steps: create the column with a safe default, backfill in controlled batches, apply indexes only after data is stable, and finally deploy code that reads and writes from it. This minimizes downtime and avoids locking.