mirror of
https://github.com/discourse/discourse.git
synced 2025-03-22 23:35:38 +08:00
FIX: Rebake lightbox and use short upload urls in migrate_to_s3
.
This commit is contained in:
parent
5284f235ef
commit
2d34be24be
@ -357,6 +357,27 @@ def migrate_to_s3
|
||||
DbHelper.remap(from, to, anchor_left: true)
|
||||
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"
|
||||
|
||||
DbHelper.regexp_replace(from, to)
|
||||
|
||||
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"
|
||||
|
||||
DbHelper.regexp_replace(from, to)
|
||||
|
||||
Post.where("raw LIKE '%%'").each do |post|
|
||||
regexp = /!\[\](\/uploads\/#{db}\/original\/(\dX\/(?:[a-f0-9]\/)*[a-f0-9]{40}[a-z0-9\.]*))/
|
||||
|
||||
post.raw.scan(regexp).each do |upload_url, _|
|
||||
upload = Upload.get_from_url(upload_url)
|
||||
post.raw = post.raw.gsub("", "")
|
||||
end
|
||||
|
||||
post.save!(validate: false)
|
||||
end
|
||||
|
||||
if Discourse.asset_host.present?
|
||||
# Uploads that were on local CDN will now be on S3 CDN
|
||||
from = "#{Discourse.asset_host}/uploads/#{db}/original/"
|
||||
@ -379,10 +400,16 @@ def migrate_to_s3
|
||||
DbHelper.remap(from, to)
|
||||
end
|
||||
|
||||
puts "Removing old optimized images..."
|
||||
|
||||
OptimizedImage
|
||||
.joins("LEFT JOIN uploads u ON optimized_images.upload_id = u.id")
|
||||
.where("u.id IS NOT NULL AND u.url LIKE '//%' AND optimized_images.url NOT LIKE '//%'")
|
||||
.destroy_all
|
||||
|
||||
puts "Rebaking posts with lightboxes..."
|
||||
|
||||
Post.where("cooked LIKE '%class=\"lightbox\"%'").find_each(&:rebake!)
|
||||
end
|
||||
|
||||
puts "Done!"
|
||||
|
Loading…
x
Reference in New Issue
Block a user