The migration was live. Data streamed across shards. A new column had just been added, and the system was already under load.
Adding a new column in production is never as simple as it looks in a schema diff. The wrong move can lock tables, spike CPU, or cascade failures into dependent services. Schema changes, especially when they introduce a new column, demand precision in planning and execution.
First, analyze your current schema. Identify indexes, foreign keys, and constraints that could affect the new column’s creation. Understand how your ORM or query builder handles schema changes. Some tools run implicit locks, others fail on large datasets.
Second, decide on column type and defaults. A nullable new column adds minimal risk but may cause downstream code to break if not handled. A non-nullable field with a default requires careful thought to avoid full table rewrites.