Xenforo에서 이관된 콘텐츠에서 변환되지 않은 [HEADING] 태그를 대체하기 위해 다음 명령을 사용했습니다.
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) # rebake를 트리거하되, 유효성 검사를 건너뜁니다
end
puts "HEADING tags converted & rebaked."
'