FIX: Add compatibility for bucket folder paths in migrate_to_s3 task (#6855)

* FIX: Add compatibility for bucket folder paths in migrate_to_s3 task
* Refactor bucket_name split logic into S3Helper
This commit is contained in:
Rishabh
2019-01-08 20:04:48 +05:30
committed by GitHub
parent 733a60e888
commit f181e9cc08
2 changed files with 24 additions and 10 deletions

View File

@@ -12,7 +12,7 @@ class S3Helper
@s3_bucket_name, @s3_bucket_folder_path = begin
raise Discourse::InvalidParameters.new("s3_bucket_name") if s3_bucket_name.blank?
s3_bucket_name.downcase.split("/".freeze, 2)
self.class.get_bucket_and_folder_path(s3_bucket_name)
end
@tombstone_prefix =
@@ -23,6 +23,10 @@ class S3Helper
end
end
def self.get_bucket_and_folder_path(s3_bucket_name)
s3_bucket_name.downcase.split("/".freeze, 2)
end
def upload(file, path, options = {})
path = get_path_for_s3_upload(path)
obj = s3_bucket.object(path)
@@ -62,10 +66,10 @@ class S3Helper
options[:copy_source] = File.join(@s3_bucket_name, source)
else
if @s3_bucket_folder_path
bucket_folder, filename = begin
folder, filename = begin
source.split("/".freeze, 2)
end
options[:copy_source] = File.join(@s3_bucket_name, bucket_folder, multisite_upload_path, filename)
options[:copy_source] = File.join(@s3_bucket_name, folder, multisite_upload_path, filename)
else
options[:copy_source] = File.join(@s3_bucket_name, multisite_upload_path, source)
end