A new column in a database sounds simple. One statement and it’s done. But schema changes in production carry risk. They can lock tables, block writes, and cause downtime. They can explode cache invalidations, break ORM models, and cascade into service outages.
When adding a new column in SQL, you need to understand how your database engine handles ALTER TABLE. In MySQL with InnoDB, adding a nullable column with a default can be fast if it’s DEFAULT NULL. But adding one with a non-null default may copy the entire table. PostgreSQL handles ADD COLUMN with a constant default differently since version 11 — it stores the default in metadata without rewriting the table.
Always check if the new column requires backfilling. Backfills on large datasets should run in batches to avoid locking and replication lag. Use feature flags to hide incomplete writes. Update application code only after the column exists in all environments.