The database was fast, but the schema had to change. You needed a new column, and you needed it without downtime. The query sat in the terminal. Production traffic kept flowing. Mistakes here meant locked tables, stalled writes, angry alerts.
Adding a new column sounds simple. In practice, it demands precision. Choosing the right data type matters. Nullable or not. Default values that won't inflate storage or spike CPU. On large datasets, a naive ALTER TABLE will block queries for minutes or hours. In distributed systems, it can cascade into missed SLAs.
There are proven approaches. In PostgreSQL, adding a nullable column is almost instant, but filling it with defaults later needs care. For MySQL, tools like pt-online-schema-change or native ONLINE DDL reduce lock times. In modern cloud databases, ALTER TABLE ADD COLUMN may still have performance costs hidden under the surface. Testing the migration against production-sized copies is the only way to see them.