Enforce migration order when upgrading GitLab versions
A common support issue we've seen is that users often skip steps outlined in the upgrade documentation. We should build tooling into our product to enforce the proper migration ordering so as to prevent skipping steps and to reduce the support burden of allowing this to happen.
A simple solution would be that each migration only needs to know the identifier of the prior migration and check that it matches that it has been run. The Sharding Group is discussing a similar requirement for minimum database version here: #331056 (comment 576665007)
Benefits
- Enforced migration order
- Notification of missing steps
- Reduced customer success debugging of migration ordering
Edited by Craig Gomes