# Rollback fails due to forward-only change: pre-release checklist

Source: https://releasefailures.com/incidents/rollback-fails-due-to-forward-only-change/
Content version: 1.0.0
Verified on: 2026-10-22
Licence: CC BY 4.0

Definition: A rollback is impossible because the data or schema has already moved forward.
- [ ] PR-01 Apply each column type change to a production-shaped copy, write rows with the new type, run its down migration, and fail when the down migration errors. (test class: Migration tests)
- [ ] PR-02 Fail the migration check for any column type change that ships without a down migration. (test class: Migration tests)
- [ ] PR-03 Add a spec to each data migration that runs every branch, including the branch that fetches a parent group's owner when the group has no owner. (test class: Migration tests)
- [ ] PR-04 Run each post-deploy data migration against a production-shaped copy that holds the record types production holds and staging lacks. (test class: Migration tests)
- [ ] PR-05 Write rows with the new field type on staging, deploy the previous application version, and confirm the previous version reads those rows. (test class: Chaos and resilience tests)
- [ ] PR-06 Roll back the release on staging after its post-deploy migrations finish and confirm the previous version serves requests. (test class: Chaos and resilience tests)
- [ ] PR-07 Insert a row with an unexpected field type on staging and confirm the job distributor keeps distributing the other work. (test class: Chaos and resilience tests)
