You need a new column.
Adding a new column should be fast, safe, and predictable. Too often, it’s not. Schema changes in production can block writes, lock rows, or trigger downtime. The right approach avoids fragile migrations and ensures your data stays accessible while the change is applied.
Start with a clear definition: the column name, data type, and constraints. If you expect high write volume, use an additive migration—create the column without defaults or NOT NULL, then backfill in small batches. This prevents long locks and keeps queries responsive.
Plan indexing carefully. Adding an index at the same time as the new column can double migration time and impact performance. Create the column first, verify traffic stability, then apply indexes with concurrent operations where supported.