Adding a new column in a production database is not a trivial step. Done wrong, it can lock tables, block writes, and cascade outages across dependent services. Done right, it enables new features without downtime. The difference is in the process, the tooling, and the discipline.
First, assess the schema change. Know the type, size, and nullability of the new column. Understand how it interacts with indexes, constraints, and triggers. Adding a nullable column is faster, but may require application logic to handle null values until backfill is complete. Adding a column with a default non-null value can lock the table in some engines; in others, it is metadata-only.
Second, control the migration. In PostgreSQL, ALTER TABLE ... ADD COLUMN is often instant for nullable fields, but large default values can stall writes. In MySQL, consider pt-online-schema-change or gh-ost for safe migrations. Always test on production-like data. Measure lock times, replication lag, and performance impact.