Question, post deploy migrations as blockers identification
The Delivery team considers all post-deploy migrations as blockers. Our tooling checks for this and we also have it noted in our runbook if there are post deploy migrations, avoid rolling back: https://gitlab.com/gitlab-org/release/docs/-/blob/master/runbooks/rollback-a-deployment.md#3-compare-the-changes-to-see-if-there-are-migrations
In a recent attempt at a rollback, one was noted, but I made the decision to proceed forward with the rollback anyways as there was a comment that state a no-op
down method: https://gitlab.com/gitlab-org/security/gitlab/-/blob/2d1e7c202e800ac108b037fd2d780d6633f195a9/db/post_migrate/20211005194425_schedule_requirements_migration.rb
Was rolling back the wrong move to make? I know some post_deploy migrations could be harmless. I guess I could use clarification on this.
As an aside, I ponder if we should provide enforcement in our migration structures to indicate if rollbacks are safe with a given method? Are there enough safe post deploy migrations that having this information be useful to the persons managing deployments?