Add wrapper rake task to migrate all uploads to OS
Add a rake task that will trigger gitlab:uploads:migrate rake task with different possible arguments, one by one.
This commit is contained in:
parent
623ba9fd64
commit
c4668c388f
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Add wrapper rake task to migrate all uploads to OS
|
||||
merge_request: 21779
|
||||
author:
|
||||
type: other
|
|
@ -1,6 +1,30 @@
|
|||
namespace :gitlab do
|
||||
namespace :uploads do
|
||||
desc 'GitLab | Uploads | Migrate the uploaded files to object storage'
|
||||
namespace :migrate do
|
||||
desc "GitLab | Uploads | Migrate all uploaded files to object storage"
|
||||
task all: :environment do
|
||||
categories = [%w(AvatarUploader Project :avatar),
|
||||
%w(AvatarUploader Group :avatar),
|
||||
%w(AvatarUploader User :avatar),
|
||||
%w(AttachmentUploader Note :attachment),
|
||||
%w(AttachmentUploader Appearance :logo),
|
||||
%w(AttachmentUploader Appearance :header_logo),
|
||||
%w(FaviconUploader Appearance :favicon),
|
||||
%w(FileUploader Project),
|
||||
%w(PersonalFileUploader Snippet),
|
||||
%w(NamespaceFileUploader Snippet),
|
||||
%w(FileUploader MergeRequest)]
|
||||
|
||||
categories.each do |args|
|
||||
Rake::Task["gitlab:uploads:migrate"].invoke(*args)
|
||||
Rake::Task["gitlab:uploads:migrate"].reenable
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# The following is the actual rake task that migrates uploads of specified
|
||||
# category to object storage
|
||||
desc 'GitLab | Uploads | Migrate the uploaded files of specified type to object storage'
|
||||
task :migrate, [:uploader_class, :model_class, :mounted_as] => :environment do |task, args|
|
||||
batch_size = ENV.fetch('BATCH', 200).to_i
|
||||
@to_store = ObjectStorage::Store::REMOTE
|
||||
|
|
Loading…
Reference in New Issue