Excelent content Jeff, thank you for your hard work and absurd quality of everything you do.
Just a comment on the migration file explanation: I would avoid defining enum types directly in the database. Instead, I prefer handling them at the application level within the project.