FIX: Dry run broken for uploads:migrate_to_s3.

This commit is contained in:
Guo Xiang Tan
2019-03-25 22:38:24 +08:00
parent 4452332077
commit cc2bac86e9

View File

@ -357,22 +357,29 @@ def migrate_to_s3
DbHelper.remap(from, to, anchor_left: true) DbHelper.remap(from, to, anchor_left: true)
end end
from = "src=\"/uploads/#{db}/original/(\\dX/(?:[a-f0-9]/)*[a-f0-9]{40}[a-z0-9\\.]*)" [
to = "src=\"#{SiteSetting.Upload.s3_base_url}/#{prefix}\\1" [
"src=\"/uploads/#{db}/original/(\\dX/(?:[a-f0-9]/)*[a-f0-9]{40}[a-z0-9\\.]*)",
DbHelper.regexp_replace(from, to) "src=\"#{SiteSetting.Upload.s3_base_url}/#{prefix}\\1"
],
from = "src='/uploads/#{db}/original/(\\dX/(?:[a-f0-9]/)*[a-f0-9]{40}[a-z0-9\\.]*)" [
to = "src='#{SiteSetting.Upload.s3_base_url}/#{prefix}\\1" "src='/uploads/#{db}/original/(\\dX/(?:[a-f0-9]/)*[a-f0-9]{40}[a-z0-9\\.]*)",
"src='#{SiteSetting.Upload.s3_base_url}/#{prefix}\\1"
DbHelper.regexp_replace(from, to) ],
[
# BBCode images "\\[img\\]/uploads/#{db}/original/(\\dX/(?:[a-f0-9]/)*[a-f0-9]{40}[a-z0-9\\.]*)\\[/img\\]",
from = "\\[img\\]/uploads/#{db}/original/(\\dX/(?:[a-f0-9]/)*[a-f0-9]{40}[a-z0-9\\.]*)\\[/img\\]" "[img]#{SiteSetting.Upload.s3_base_url}/#{prefix}\\1[/img]"
to = "[img]#{SiteSetting.Upload.s3_base_url}/#{prefix}\\1[/img]" ]
].each do |from, to|
if true
puts "REPLACING '#{from}' WITH '#{to}'"
else
DbHelper.regexp_replace(from, to) DbHelper.regexp_replace(from, to)
end
end
unless dry_run
# Legacy inline image format # Legacy inline image format
Post.where("raw LIKE '%![](/uploads/default/original/%)%'").each do |post| Post.where("raw LIKE '%![](/uploads/default/original/%)%'").each do |post|
regexp = /!\[\](\/uploads\/#{db}\/original\/(\dX\/(?:[a-f0-9]\/)*[a-f0-9]{40}[a-z0-9\.]*))/ regexp = /!\[\](\/uploads\/#{db}\/original\/(\dX\/(?:[a-f0-9]\/)*[a-f0-9]{40}[a-z0-9\.]*))/
@ -384,6 +391,7 @@ def migrate_to_s3
post.save!(validate: false) post.save!(validate: false)
end end
end
if Discourse.asset_host.present? if Discourse.asset_host.present?
# Uploads that were on local CDN will now be on S3 CDN # Uploads that were on local CDN will now be on S3 CDN
@ -407,6 +415,7 @@ def migrate_to_s3
DbHelper.remap(from, to) DbHelper.remap(from, to)
end end
unless dry_run
puts "Removing old optimized images..." puts "Removing old optimized images..."
OptimizedImage OptimizedImage
@ -418,6 +427,7 @@ def migrate_to_s3
Post.where("cooked LIKE '%class=\"lightbox\"%'").find_each(&:rebake!) Post.where("cooked LIKE '%class=\"lightbox\"%'").find_each(&:rebake!)
end end
end
puts "Done!" puts "Done!"
end end