The database waits, silent, until you tell it what to become. You run the migration. A new column appears.
Adding a new column is the simplest change and the most dangerous. Schema changes ripple through APIs, backend logic, and stored data. One mismatch in type or null handling can break production. The process must be deliberate.
First, define the purpose. Every new column needs a clear role, typed precisely. Use constraints to enforce correctness. Plan default values and handling for existing rows. Consider backward compatibility for services reading the table.
Second, run the migration in a controlled environment. For large datasets, use chunked updates or online schema changes to avoid locking the table. Monitor performance impact. Index only if queries demand it; every index carries a write cost.