Applying and undoing: migrate, status, rollback
migrax generate writes migrations, and three commands handle the rest: status shows what
the database has, migrate applies what is missing, and rollback undoes it. This article
goes through each one on a real project. It also covers what a rollback can and can't bring
back, and what happens when someone edits a migration that already ran.