Adding a new column sounds easy, but in production it can break everything if done without care. Schema migrations are not just syntax—they are operations on live data at scale. Get them wrong, and you get downtime, corrupted records, or lost writes.
When you add a new column in SQL, the database changes its internal structure. On small tables this happens instantly. On large tables with millions of rows, the operation can lock reads and writes, spike CPU, or block replication. The impact depends on the database engine, the column type, nullability, and whether you supply a default value.
In PostgreSQL, adding a nullable column without a default is fast because it updates metadata only. Add a default, and it writes to every existing row, which can be slow. MySQL behaves differently depending on the storage engine and version. Some operations are “instant,” others require a full table rebuild.