Adding a new column is one of the most common schema migrations, yet it is also one of the most disruptive if handled poorly. Done in production without planning, it can lock tables, drop indexes, block queries, or trigger cascading failures in dependent systems. The goal is speed without risk.
First, decide if the column is nullable or has a default value. A new column with no default on a large table can cause a full table rewrite. On PostgreSQL, use ADD COLUMN ... DEFAULT ... with NULL first, then backfill in small batches, and add a default constraint after the fact. On MySQL, be aware of storage engine differences—InnoDB behaves differently from MyISAM during schema changes.
Second, evaluate read and write patterns while the migration runs. In high-traffic systems, even a schema change tool like pt-online-schema-change or gh-ost can have measurable impact. Use query sampling and slow log analysis before executing the migration.