The logs pointed to one line: add new column.
A new column in a database table sounds simple. It is not. Schema changes alter the contract between code and data. Even one new column can break production if defaults, constraints, and indexes are not considered.
Before adding a new column, confirm its purpose. Define its data type with precision. Choose nullability based on real-world use, not guesswork. If it requires a default value, set it explicitly. Avoid implicit defaults that hide data problems.
Plan for the size of the column. Text fields without limits can bloat storage. Numeric fields with bad precision can damage integrity. For time-based data, always store timestamps in UTC to prevent drift.
When adding a column to a live system, gauge the migration impact. On large tables, schema changes can lock writes and cause downtime. Use tools that allow online schema changes. Test the migration against a recent copy of production data to measure performance cost.