Импорт из Vanilla Forums приводит к нарушению порядка ответов. Переиндексировать ответы?

Я успешно импортировал экспорт из Vanilla Forum, но ответы в некоторых темах расположены не в правильном порядке. Иногда с разницей в дни, иногда в годы.

Проблема, похоже, в том, что Vanilla Porter просто экспортирует ответы в произвольном порядке без какой-либо заметной закономерности. Затем, когда скрипт импорта Discourse обрабатывает строки по очереди и размещает запись на своё место, ответы получают ID в неправильном порядке.

Я вижу два возможных варианта:

  1. Как-то исправить Vanilla Porter
  2. Переиндексировать ответы в базе данных Discourse на основе даты их создания

Вариант №2 кажется более простым в реализации, если это вообще возможно.

Есть какие-либо предложения?

Я бы зашел в командную строку, вошел в контейнер и пересобрал все посты, чтобы проверить, сработает ли это.

cd /var/discourse
./launcher enter app
rake posts:rebake

Кажется, есть специальная задача rake — rake posts:reorder_posts

Если упомянутая выше задача rake не помогает, следующим шагом будет корректировка запроса, используемого скриптом импорта, чтобы убедиться, что посты импортируются в правильном порядке.

Спасибо всем! Нам удалось это исправить. У меня нет доступа к командной строке, поэтому я просто жду подтверждения от человека, у которого он есть, чтобы узнать, какую команду он использовал. Я обновлю эту тему, как только получу эту информацию.

Он был довольно неконкретен, но сказал, что использовал обе команды. Так что, если кому-то в будущем понадобится сделать это, попробуйте обе. Извините, что не смог уточнить. Спасибо за быструю помощь, ребята!

Пересборка не должна быть необходима: она касается содержимого постов, которое не требует изменения при их переупорядочивании.

Значит, достаточно просто выполнить rake posts:reorder_posts?

Пока единственная проблема — это то, что посты не идут в хронологическом порядке, да. Задача posts:reorder_posts решит именно это и ничего больше.

Отлично, спасибо за уточнение! Надеюсь, это поможет кому-то ещё в будущем.