Adding a new column should be simple. The schema changes, the migration runs, production updates. But it’s also a point where broken deployments, locked tables, and downtime creep in. If you treat it casually, you will pay in rollback stress.
A new column in SQL means more than just ALTER TABLE. You need to decide on column type, nullability, default values, and indexing. In PostgreSQL, adding a nullable column is fast. Adding a column with a non-null default rewrites the table, which can block queries. In MySQL, adding a new column can still lock the table depending on storage engine and version. In distributed databases like CockroachDB, schema changes are asynchronous but may surface unexpected latency or backfill performance issues.
Plan the migration. Decide if you can add the new column in multiple steps: first nullable with no default to avoid rewrites, then backfill in batches, then set constraints. Consider read-only or shadow deployments to test the integration. When you add indexes on the new column, measure write performance impact.