You add a new column, and the build pipeline stalls. Data migrations drag. The app boots slower. Queries that ran in milliseconds now crawl. Every engineer has hit this wall: persistence changes carry risk, downtime, and manual intervention.
Adding a new column in a production database is simple in theory, dangerous in practice. Schema changes can lock tables, block writes, or corrupt partial data. You must plan carefully. Start with a clear migration path. Use tools that generate reversible migrations. Apply them in small steps. Always default to adding nullable columns first, backfilling data in batches, then adding constraints.
Indexing a new column is another risk. Create the index concurrently to avoid locking the table. Test query performance against staging with realistic data volumes. Monitor CPU, I/O, and row-level locks during deployment.