Adding a new column should be simple. It is, until it isn’t. Databases contain more than data—they hold contracts. Every table, every field, every index is used by something else. Change it without care, and you break production.
A new column means editing the schema definition. In SQL, you use ALTER TABLE. In NoSQL, you adjust the document structure and handle existing records. With relational databases, decide the column type, nullability, and default value before you run the migration. Default values prevent errors when old rows meet new requirements.
Plan migrations in two steps: deploy the column, then deploy the code that writes to it. This avoids downtime. If the new column needs an index, create it after the column exists, but before queries depend on it. For large datasets, build indexes concurrently to keep the system responsive.