Add script to fix active storage links

This commit is contained in:
Stanko K.R.
2025-11-18 19:23:55 +01:00
parent 43d384961a
commit d574748432
+24
View File
@@ -0,0 +1,24 @@
#!/usr/bin/env ruby
require_relative "../config/environment"
require "uri"
require "base64"
require "json"
ActionText::RichText.all.where("body LIKE '%/rails/active_storage/%'").find_each do |rich_text|
next unless rich_text.body
blobs = rich_text.embeds.map(&:blob)
rich_text.body.send(:attachment_nodes).each do |node|
filename = node["filename"]
blob = blobs.select { |b| b.filename == filename }
raise "Multiple blobs with filename #{filename}" if blob.size > 1
blob = blob.first
node["sgid"] = blob.attachable_sgid
end
rich_text.save!
end