A new column can look simple in code but cause real problems in a live database. Adding it without planning can lock tables, spike query latency, or cascade failures through dependent services. The safest approach starts with understanding how the database engine handles schema changes at runtime.
Check if your database supports online schema changes. In MySQL, tools like pt-online-schema-change or native ALTER TABLE with ALGORITHM=INPLACE can add a new column without a full table lock. PostgreSQL can add certain columns instantly, especially when they allow NULL and have no default value. Avoid default expressions that force a rewrite of every row.
Always stage schema changes. First, deploy code that reads the new column if it exists but does not depend on it. Then apply the operation on production during low traffic windows or via a background migration. Finally, backfill data in controlled batches to avoid I/O spikes.