You add a column to a table, push the migration, and wait for the deploy to finish. It runs clean. No errors. But the first query fails. Every toolchain promises a smooth path for schema changes. Most break when constraints, indexes, and production scale collide.
A new column in SQL is simple only in the abstract. In practice, you deal with locks, replication lag, and long-running migrations that can blackhole traffic. On Postgres, ALTER TABLE ADD COLUMN is fast for nullable fields with defaults defined as literals. Anything else risks a full rewrite of the table. MySQL can block writes. BigQuery will let you alter schemas instantly, but downstream ingestion may fail until every load job sees the update.
Plan your new column like you would any deploy that touches core systems. Start with your migration script in version control. Run it against staging with production data volume. Watch the query plan. Measure execution time. If the migration is heavy, split it: