The database was fast, but the product team wanted more. A new column could unlock the reports, queries, and features that had been stuck in backlog for months. The schema had to change. The deployment had to be safe. Mistakes here could mean downtime, lost data, or a rollback that nobody wanted.
Adding a new column is simple in concept but dangerous in production. The command is often a single ALTER TABLE statement. The impact depends on the database engine, table size, indexes, and traffic. On small tables in development, the schema change is instant. In production with millions of rows, it can lock writes, spike CPU, or block queries.
Plan the migration. First, confirm the default value and nullability. A nullable new column often avoids immediate row rewrites. A NOT NULL with a default can trigger a full table rewrite in some systems. In PostgreSQL, adding a nullable new column is metadata-only and fast. In MySQL, older versions lock the table; newer versions are better but not perfect.