The table was wrong. You knew it the moment you saw the schema. Missing data, missing meaning. The only fix was to add a new column.
A new column changes how data lives in your system. It alters queries, indexes, and the way services interact. Done poorly, it creates downtime or silent corruption. Done well, it unlocks features with zero disruption.
When you add a new column to a live database, think through the migration path. Decide if it can be nullable. If not, determine how to backfill safely. Use transactional DDL if your engine supports it, or run in small batches to reduce lock contention. Monitor replication lag if you operate read replicas.
In PostgreSQL, ALTER TABLE ADD COLUMN is fast for metadata when adding a nullable column without a default. Adding a non-null column with a default rewrites the whole table. MySQL behaves differently; test on a staged copy before running in production. DynamoDB, MongoDB, and other NoSQL systems don’t require schema changes, but your application code still needs to expect the new field.