Remplacer une chaîne de caractères dans tous les messages

J’ai utilisé la commande suivante pour remplacer les [HEADING] qui n’ont pas été convertis lors de la migration de XenForo :

sudo -u discourse -H RAILS_ENV=production bundle exec rails runner '
Post.where("raw LIKE ?", "%[HEADING%").find_each(batch_size: 500) do |p|
  orig = p.raw
  cooked = orig.dup
  (1..6).each do |lvl|
    cooked.gsub!(/\[HEADING=#{lvl}\](.*?)\[\/HEADING\]/mi) { "#" * lvl + " " + $1 }
  end
  cooked.gsub!(/\[HEADING\](.*?)\[\/HEADING\]/mi) { "## " + $1 }
  next if cooked == orig
  p.raw = cooked
  p.save!(validate: false)   # Déclenche le rebake mais saute la validation
end
puts "Balises HEADING converties et rebakées."
'
2 « J'aime »