Adding a new column sounds simple. It is not. The wrong approach locks tables, stalls writes, and puts uptime at risk. The right approach slips changes into production without breaking queries or blocking users.
A new column can hold critical data: feature flags, metadata, timestamps, or performance metrics. Before you add it, decide if it should be nullable, have a default value, or use constraints. Make changes explicit. Avoid implicit type conversions that can cause slow migrations or trigger hidden bugs.
For small datasets, ALTER TABLE ADD COLUMN works fine. For large, high-traffic systems, plan it as an online schema change. Use tools like pt-online-schema-change or native database features that rewrite tables in place, row by row. Break large migrations into smaller steps. First, add the nullable column. Then backfill in batches. Finally, enforce constraints when the data is ready.