The migration failed on the last push because the schema expected a column that didn’t exist. You add the new column. You ship the change. But that’s where most mistakes happen.
A new column in a database is not just about ALTER TABLE. It’s about precision, downtime risk, and future-proofing. The wrong data type means slow queries. The wrong default value means dirty data. Forgetting NOT NULL means bugs that hide for months.
When adding a new column in SQL, decide if it must allow nulls. If not, either populate it in the migration or set a default. Adding indexes to a fresh column can lock tables if done in the wrong order. Stage them carefully.
Deploy the migration separately from the code that depends on it. The schema change goes first. Then the application logic. That sequencing prevents runtime crashes when code calls for a column that isn’t there yet.