Adding a new column to a production database should be simple. It isn’t. Schema changes touch live data, active queries, and critical paths. If you treat them as routine, you invite downtime, data corruption, or silent bugs.
A well-planned new column deployment starts with compatibility. Add the column with a default that doesn’t block writes. Avoid locking the table. Use a migration tool that supports online schema changes. Test the change against production-like datasets. Validate that indexes, constraints, and triggers behave as expected.
In Postgres, ALTER TABLE ... ADD COLUMN is fast for empty defaults but can cause table rewrites with non-null defaults. In MySQL, online DDL reduces lock time but has engine-specific limits. Always check your version-specific behavior before running in production.