The table is set, but the data is missing. You need a new column, and you need it now.
Adding a new column is more than tacking on extra space. It changes schemas, queries, indexes, and sometimes production traffic. Do it wrong, and you get downtime or broken reports. Do it right, and the migration is invisible to your users.
The process starts with defining the column in your schema. Simple in local dev, but risky in production. For relational databases like PostgreSQL or MySQL, you need to decide if the column is nullable, what default values to use, and whether constraints should apply. These choices affect every read and write.
In systems with heavy load, a blocking ALTER TABLE can lock rows and stall requests. To avoid this, engineers use online schema changes, background migrations, or feature flags to control rollout. For large datasets, modifying tables in chunks—batch processing—or using tools like pt-online-schema-change keeps operations safe.