Help me understand the value of
undoable migrations. I've always operated under "the only path is forward" and you release a new version that fixes the issue or create a new migration that does some kind of partial rollback if necessary. Once a migration is live, naively rolling things back seems like you're asking for problems.
I also only perform migrations as part of app init, not separately.
I also only perform migrations as part of app init, not separately.