Adding a new column to a database table sounds small. It isn’t. Done well, it builds new capabilities. Done badly, it locks you into slow migrations, downtime, and broken code.
The first question is schema change strategy. In SQL, ALTER TABLE can be instant or blocking, depending on the database engine and the data type. Postgres will let you add a nullable column without rewriting the table. MySQL may lock writes. Analyze the impact before running the migration.
Define your defaults carefully. A DEFAULT value can trigger a full table rewrite. Storing NULL and filling in on read can save time. If the column needs a constraint or index, add it in a second step to reduce lock time.
Code deployment order matters. Ship code that can handle the new column before you make it required. Backfill data in batches. Only enforce constraints after the application logic is ready.