Adding a new column should be simple, but in production systems, small changes can ripple into outages. Schema updates touch live data, migrate existing rows, and reshape queries. A careless ALTER TABLE can lock writes, increase latency, or block deployments.
The safest approach starts with understanding how your database engine handles new column operations. In PostgreSQL, adding a nullable column with no default is fast, but adding a column with a default value rewrites the whole table in older versions. MySQL uses online DDL for certain operations, but still might require an exclusive lock depending on the storage engine.
Migrations need to be idempotent, predictable, and easy to roll back. Feature flags can decouple schema deployment from application changes. Adding a column in two steps—first schema, then application use—keeps the system stable. If the new column will store indexed data, create the index in a separate migration to avoid compounding lock times.