A new column sounds simple. It is not. Schema changes can halt deployments, break integrations, and corrupt data if done carelessly. Adding a column changes not only the database but the contract between your data and your code. Every dependent service, API consumer, and analytics job will feel the impact.
When you create a new column in SQL, the operation can be instant or locking, depending on the database engine, table size, and column definition. A nullable column with no default can be added quickly in most modern databases. A non-null column with a default value may trigger a full table rewrite. In a high-traffic production system, that can be existential.
Name your new column with precision. Avoid abbreviations unless they are already standard in your domain. Use consistent casing and separators. Document its type, constraints, and intended use alongside the migration.
Backfill strategies matter. For large datasets, run backfills in batches with controlled transaction sizes. Monitor memory and I/O impact. Post-deployment, verify data integrity before removing any old logic that assumed the column did not exist.