Adding a new column can be trivial or it can take down production. The difference lies in how you design, migrate, and deploy it. Schema changes are often the tightest bottleneck in continuous delivery. A careless ALTER TABLE on a large dataset can lock reads and writes, trigger cascading errors, and extend downtime beyond your maintenance window.
Plan the new column. Define its data type, nullability, and default value. Avoid defaults that force a full table rewrite during the migration. For high-traffic tables, add the column without heavy constraints first. Backfill the data in batches. Then add indexes or foreign keys in separate, small steps.
In PostgreSQL, ADD COLUMN without a default is fast because it updates metadata only. In MySQL, adding a nullable column can be instant with InnoDB, but certain operations still trigger table rebuilds. Benchmark the migration in a staging environment with production-like data. Measure lock times. Control the transaction scope.