The database waits for change, but the code is already moving. You need a new column, and you need it without breaking production. No downtime. No messy migrations. No waiting for the next maintenance window.
A new column can mean fresh capabilities — a feature flag, a tracking field, a performance boost from better query patterns. It’s the fastest way to evolve your schema without rewriting your system. But adding one wrong can shatter stability. You know the risks: locks, full table copies, index rebuilds that eat your CPU alive.
The safe path starts with understanding your engine’s behavior. PostgreSQL handles ALTER TABLE ADD COLUMN almost instantly for nullable fields without defaults, but defaults trigger a rewrite. MySQL can behave differently depending on version and storage engine. Distributed databases require extra planning to avoid cross-node inconsistencies.