diff --git a/app/logical/post_replacement_processor.rb b/app/logical/post_replacement_processor.rb index 3816b2e8d..6b7c1e207 100644 --- a/app/logical/post_replacement_processor.rb +++ b/app/logical/post_replacement_processor.rb @@ -27,7 +27,7 @@ class PostReplacementProcessor elsif Source::URL.page_url(image_url).present? canonical_url = image_url else - canonical_url = replacement.replacement_url + canonical_url = replacement.replacement_url.strip end replacement.replacement_url = canonical_url diff --git a/script/fixes/130_fix_replacement_urls.rb b/script/fixes/130_fix_replacement_urls.rb new file mode 100755 index 000000000..14e60e5c7 --- /dev/null +++ b/script/fixes/130_fix_replacement_urls.rb @@ -0,0 +1,14 @@ +#!/usr/bin/env ruby + +require_relative "base" + +with_confirmation do + fix = ENV.fetch("FIX", "false").truthy? + + PostReplacement.where_regex(:replacement_url, "(^ )|( $)").find_each do |replacement| + replacement.replacement_url = replacement.replacement_url.strip + + replacement.save!(touch: false) if fix + puts ({ id: replacement.id, changes: replacement.changes }).to_json + end +end