/опубликовано пусто после импорта 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 с исправлением, которое вы можете запустить прямо сейчас: