Cleanup migration code

After the subscription_add_ons table has been fully migrated to a FixedItemsModel and all data has been backfilled, we need to clean up the migration code that is no longer needed.

Background

This issue is part of the epic to convert subscription_add_ons table to be hard-coded in application code. Once the migration is complete and finalized, we must remove the temporary migration code to reduce technical debt.

Required Stops and Cleanup Process

Per the background migration cleanup guidance:

  1. Finalization must occur first - The batched background migration must be finalized in a release after it was enqueued, and only after it has completed on GitLab.com.
  2. Required stop requirement - Migration code can only be deleted after the next required stop following finalization.
  3. Code to remove - Once the required stop has passed:
    • Delete the batched background migration class from lib/gitlab/background_migration/
    • Delete associated tests for the migration
    • Remove the migration documentation file from db/docs/batched_background_migrations/
    • Remove any scheduling migrations that are no longer needed

Acceptance Criteria

  • Confirm the batched background migration has been finalized in a previous release
  • Confirm a required stop has occurred since finalization
  • Remove the background migration class and tests
  • Remove the migration documentation file
  • Verify no references to the removed migration remain in the codebase
  • All tests pass

References

  • Batched Background Migrations - Deleting migration code
  • Required Stops Documentation
Edited Feb 02, 2026 by Florian Jedelhauser
Assignee Loading
Time tracking Loading