From f268b882fda72162ff1b0c09cd454e02582686c4 Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Thu, 6 Jun 2013 13:52:30 -0400 Subject: [PATCH] The posts rebake task should regenerate links too. --- app/models/topic_link.rb | 2 +- lib/tasks/posts.rake | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/models/topic_link.rb b/app/models/topic_link.rb index 56d45da881a..539cc9c5201 100644 --- a/app/models/topic_link.rb +++ b/app/models/topic_link.rb @@ -139,7 +139,7 @@ class TopicLink < ActiveRecord::Base if topic_id.present? topic = Topic.where(id: topic_id).first - if topic && post.topic.archetype != 'private_message' && topic.archetype != 'private_message' + if topic && post.topic && post.topic.archetype != 'private_message' && topic.archetype != 'private_message' prefix = Discourse.base_url diff --git a/lib/tasks/posts.rake b/lib/tasks/posts.rake index 81c5f9dd142..1ba8858f42f 100644 --- a/lib/tasks/posts.rake +++ b/lib/tasks/posts.rake @@ -3,11 +3,13 @@ task "posts:rebake" => :environment do 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, :cooked, :raw, :topic_id]).each do |p| + Post.select([:id, :user_id, :cooked, :raw, :topic_id, :post_number]).each do |p| 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) putc "#" else putc "."