Adding a new column seems simple. In large production systems, it can be a fault line. Database migrations touch live data, and one slow query can lock a table, block writes, and cause downtime. You need to plan for speed, schema safety, and rollback paths.
A new column changes the shape of your data. In SQL databases, ALTER TABLE ... ADD COLUMN is common. It is also dangerous if the table holds millions of rows. Some databases rewrite the whole table. Others can add a nullable column instantly. You must know your engine’s behavior before shipping to production.
For PostgreSQL, adding a new nullable column without a default is usually fast. Adding one with a default rewrites. In MySQL, INSTANT ADD COLUMN can work for certain configurations, but older versions perform full copies. In distributed systems like CockroachDB, the schema change runs in stages. The wrong stage sizes kill throughput.
You also need to consider constraints and indexes. Adding a new column with an index can double the migration time. Instead, add the column first, then build the index in a separate operation. That can turn minutes of downtime into zero.