Every time I read about database migrations and all the code and infrastructure needed to maintain that, I kinda want to have a conversation about why, and how the underlying problem could be solved differently.
Why not just have a database schema specificiation and then diff the specification with the database, and apply changes whenever there's an update?