The database table was ready, but the data needed room to grow. You had one option: add a new column. Simple in theory, dangerous in execution. A single ALTER TABLE can lock rows, rewrite indexes, and spike load. Done wrong, it can take your system offline. Done right, it feels instant.
A new column changes the schema. It may be nullable, have a default value, or be computed on the fly. Each choice changes the migration plan. In MySQL, adding a column without DEFAULT can skip a table copy if conditions match. In PostgreSQL, adding a nullable column is metadata‑only and completes fast, but setting a default rewrites the table. On large datasets, this matters. You want the metadata path whenever possible.
Plan the migration. Identify table size, active connections, replication lag. Check if the new column affects indexes or constraints. Avoid locking writes for long windows. Tools like pt‑osc, gh‑ost, or pg_repack can add a column in the background. Write tests for both old and new schema states to handle in‑flight changes without breaking code.