We do migrations for schema on app startup (built into the app).
Any general data changes are done outside the pipeline as a pre or post deployment step.
Migrations on startup aren’t perfect, you have to be careful that it doesn’t take too long on startup.
Honestly the pros outweighs the cons. You can fire up a new site/db without much effort which is something we do often.
Lol I do the same. Went from “what is this? It doesn’t do anything why is this here?” to doing doing it every turn because I’m a god damn bard.
My favorite is that if you get hit the song gets interrupted for the rest of the turn. Like it was actually doing anything to begin with. I guess it makes me want to get some serious revenge.