A new requirement dropped in, no warning, just a note in the backlog: add a new column.
In most systems, adding a new column sounds trivial. But the implications ripple fast—performance, backward compatibility, migration windows, rollouts across distributed databases. One wrong move and production stalls.
A new column in SQL means altering the table structure. In Postgres, you might use:
ALTER TABLE users ADD COLUMN last_login TIMESTAMP;
The syntax is simple. The reality is not. Online migrations need safe defaults, null handling, and index strategies. Adding a new column to a large table locks data if done carelessly. For MySQL, InnoDB supports instant ADD COLUMN in some versions, but older ones may rebuild the whole table.
In NoSQL databases, a new column is often just a new field in documents. But large-scale analytics pipelines may break if schemas aren’t updated in sync. Systems that depend on strict serialization formats need explicit schema evolution.