discourse/lib/tasks/posts.rake

26 lines
769 B
Ruby
Raw Normal View History

2013-02-06 03:16:51 +08:00
desc "walk all posts updating cooked with latest markdown"
2013-02-26 00:42:20 +08:00
task "posts:rebake" => :environment do
2013-02-06 03:16:51 +08:00
RailsMultisite::ConnectionManagement.each_connection do |db|
puts "Re baking post markdown for #{db} , changes are denoted with # , no change with ."
i = 0
Post.select([:id, :user_id, :cooked, :raw, :topic_id, :post_number]).each do |p|
2013-02-06 03:16:51 +08:00
i += 1
cooked = p.cook(p.raw, topic_id: p.topic_id)
if cooked != p.cooked
Post.exec_sql('update posts set cooked = ? where id = ?', cooked, p.id)
p.cooked = cooked
TopicLink.extract_from(p)
2013-02-06 03:16:51 +08:00
putc "#"
else
putc "."
end
end
puts
puts
puts "#{i} posts done!"
puts "-----------------------------------------------"
puts
end
end