Adding a new column sounds simple. It is not. A database schema change touches code, indexes, migrations, deployments, monitoring, and rollback plans. The wrong move locks tables, slows queries, or corrupts data. The right move makes the change invisible to users while giving you full control over the rollout.
First, choose the right migration strategy. Online schema migrations are critical for large datasets. Tools like pt-online-schema-change or gh-ost let you add a new column without blocking writes. They create a shadow table, backfill data in chunks, and switch over atomically.
Second, set defaults and nullability with intent. Making a column NOT NULL with a default avoids null checks in code, but setting that default on creation time can trigger a full table rewrite in some engines. For PostgreSQL, adding a column with a constant default in recent versions is optimized. For MySQL, test the exact behavior in your version before running in production.