The database groaned under the weight of stale schema. You needed a new column, and you needed it without breaking production.
Adding a new column is simple in theory. In practice, it can fragment indexes, lock tables, and bottleneck writes. Schema changes can be a silent killer of uptime if you ignore details like transaction size, replication lag, and constraint enforcement.
The safest way to add a new column starts with impact analysis. Examine query logs to see how the table is used. Check for ORM-generated queries that may assume column counts or fixed SELECT orders. If the table is large, plan an online schema change using tools like pt-online-schema-change or native ALTER TABLE algorithms that avoid full table locks.
Choose the right data type from the start. Smaller types reduce memory and disk usage. If the column will store user input, decide on encoding and length limits before writing a single ALTER command. Never default to NULL without considering how it will affect aggregates and indexes.