Script to fix misassigned tags

See https://github.com/basecamp/fizzy/pull/1879
This commit is contained in:
Jorge Manrubia
2025-12-03 23:46:08 +01:00
parent 38d86fb17b
commit efc809c23e
@@ -0,0 +1,15 @@
#!/usr/bin/env ruby
require_relative "../config/environment"
cross_account_taggings = Tagging.joins(:tag).where("taggings.account_id != tags.account_id")
puts "Found #{cross_account_taggings.count} cross-account taggings to fix"
cross_account_taggings.find_each do |tagging|
correct_tag = tagging.account.tags.find_or_create_by!(title: tagging.tag.title)
tagging.update!(tag: correct_tag)
puts "Fixed tagging #{tagging.id}: reassigned to tag #{correct_tag.id} (#{correct_tag.title})"
end
puts "Done!"