Adding a new column should be simple, but in production systems, nothing is simple. Schema changes touch running code, migrations lock tables, and deployment pipelines slow to a crawl. Even a tiny column can trigger downtime if done wrong.
First, define the column in your schema. Choose the correct data type, nullability, and default values. Small choices here prevent large failures later. If the column will be indexed, decide this before release to avoid costly reindex operations.
Second, plan the migration. For large datasets, use an online migration strategy to avoid table locks. Break changes into multiple steps: add the new column with a safe default, backfill data in controlled batches, and only then update application logic to read and write it.