Requeue backfill of model features access levels
What does this MR do and why?
Queues the BackfillModelFeaturesAccessLevel batched background migration, which sets project_features.model_registry_access_level and model_experiments_access_level to PRIVATE on existing non-public projects where they are currently ENABLED. PRIVATE and DISABLED rows are left alone, and public projects are untouched.
This aligns the stored Featurable access level with the member-only access ProjectPolicy already enforces for these features on non-public projects, so the access level can become the source of truth once that policy carve-out is removed.
The job class, its spec, and its dictionary entry already exist on master and are unchanged — only the enqueue is new. The Requeue... naming and the delete-then-queue shape follow the BBM requeue guidance and the existing RequeueDeleteNullProjectIdPushRules precedent. The delete is unconditional because migration 20260625005917 already removed this BBM on every environment.
There is no db/structure.sql change: the migration only enqueues a BBM. Danger's "New migrations added but db/structure.sql wasn't updated" warning is expected here.
References
Screenshots or screen recordings
No UI changes.
How to set up and validate locally
-
Run the migration:
bundle exec rails db:migrate VERSION=20260911185550 -
Confirm the BBM was scheduled:
bundle exec rails runner 'puts Gitlab::Database::BackgroundMigration::BatchedMigration.where(job_class_name: "BackfillModelFeaturesAccessLevel").map(&:status_name).inspect' -
Run the migration and job specs:
bundle exec rspec spec/migrations/20260911185550_requeue_backfill_model_features_access_level_spec.rb spec/lib/gitlab/background_migration/backfill_model_features_access_level_spec.rb
Both spec files pass (7 examples, 0 failures), as do spec/db/docs_spec.rb and spec/lib/gitlab/utils/batched_background_migrations_dictionary_spec.rb.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist.
This MR needs database review: it enqueues a batched background migration over project_features.