Adding a new column sounds simple. It can break production if you get it wrong. Schema changes are one of the highest-risk operations in a live system. The wrong migration locks rows, spikes CPU, or takes services offline. The margins are tight and the stakes are high.
A new column changes the shape of data. It can add capability, track new state, or support new features. Before you add it, decide if it must be nullable, if it needs a default, and how it will be indexed. A NOT NULL column without a default will fail if existing data cannot satisfy the constraint. Large defaults applied inline can cause table rewrites and downtime.
Safe deployment starts with a migration strategy. For large datasets, create the new column as nullable and without a default. Backfill data in batches to avoid locking. Then enforce constraints and add indexes in separate steps. Use feature flags to avoid reading from or writing to the column until it is ready.