The migration failed on the 23rd row. A new column had been added, but the system stalled. You stare at the schema. The fix is clear. The execution path is not.
Adding a new column in a live database can be simple. It can also block writes, lock tables, and cause downtime that spreads across your stack. The difference often comes down to planning, data volume, and the tools you use.
A new column changes structure. It can store new data, expand functionality, or act as the foundation for a new feature. But it touches every query that reads or writes that table. Code, indexes, and migrations must be updated in sync.
In PostgreSQL, adding a nullable column with no default is instant. Adding a column with a non-null default rewrites the table. In MySQL, behavior differs by storage engine and version. In distributed databases, altering schema may trigger large-scale repartitioning.