Migrate uploads rake task
What does this MR do?
Note: this MR is currently based on !3867 (merged)
Add the new gitlab:uploads:migrate[uploader_class, model_class, mounted_as]
task.
This task is used to migrate uploads to a different object store.
Are there points in the code the reviewer needs to double check?
Why was this MR needed?
This is needed for GCP Migration, for https://gitlab.com/gitlab-com/infrastructure/issues/3575
Sample invocations
$ BATCH=1 RAILS_ENV=development bundle exec rake "gitlab:uploads:migrate[AvatarUploader, Project, :avatar]"
Migrated 1/1 files.
Migrated 1/1 files.
=== Migration summary ===
Migrated 2/2 files.
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Documentation created/updated -
API support added -
Tests added for this feature/bug - Review
-
Has been reviewed by UX -
Has been reviewed by Frontend -
Has been reviewed by Backend -
Has been reviewed by Database
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Squashed related commits together -
Internationalization required/considered -
If paid feature, have we considered GitLab.com plan and how it works for groups and is there a design for promoting it to users who aren't on the correct plan
What are the relevant issue numbers?
Follow-up of !3867 (merged) Related to #4163 (closed)
Edited by Micaël Bergeron