Adding a new column sounds simple. It is not. In modern systems, schema changes can block writes, disrupt reads, and trigger costly migrations. The key is to design, deploy, and backfill with zero downtime.
First, define the new column in your schema management tool, but keep it nullable. This prevents immediate failures from missing data. In PostgreSQL, use ALTER TABLE ... ADD COLUMN with a default set in a later step, not inline, to avoid table rewrites. In MySQL, check the engine and version; some operations are still table-copying under the hood.
Second, deploy application code that can handle both the old schema and the new column. This dual-read, dual-write approach allows the system to ingest data into the column while still serving requests from the original fields.