/تم النشر فارغًا مع استيراد phpbb3

شكراً لك على الإبلاغ عن هذا يا جاي!

يبدو أن هناك مشكلة في مهمة ensure_consistency في Rake. لقد تحققت للتو من هجرة أعمل عليها الآن (لم أقم بتشغيل مهمة ensure_consistency بعد) وتم إنشاء سجلات TopicUser بالفعل مع posted: false (الافتراضي). عندما تصل مهمة Rake إلى هذه النقطة فإنها تولد خطأ “مفتاح مكرر” ولا يتم إنشاء السجلات بسبب ON CONFLICT DO NOTHING

def insert_topic_users
  log "Inserting topic users..."

  DB.exec <<-'SQL'
    INSERT INTO topic_users (user_id, topic_id, posted, last_read_post_number, first_visited_at, last_visited_at, total_msecs_viewed)
         SELECT user_id, topic_id, 't' , MAX(post_number), MIN(created_at), MAX(created_at), COUNT(id) * #{MS_SPEND_CREATING_POST}
           FROM posts
          WHERE user_id > 0
       GROUP BY user_id, topic_id
    ON CONFLICT DO NOTHING
  SQL
end

يتم إنشاء سجلات TopicUser عند خطوة create_topic، وبشكل أكثر تحديدًا هنا discourse/lib/topic_creator.rb at main · discourse/discourse · GitHub.

لقد فتحت طلب سحب (PR) مع إصلاح يمكنك تشغيله الآن: