Наконец-то возвращаюсь к этому вопросу, отложив его на время. Я готов сделать резервную копию и попробовать что-то, если смогу оценить шансы на успех, но мне нужно чуть больше уверенности. У меня мало опыта в написании скриптов, но я очень хочу понять, как импортер CSV, как предлагает @nathank, будет сохранять сообщения (ответы) и даты, поскольку в скрипте, похоже, не определена какая-либо обработка этих данных.
Он импортирует ограниченный набор полей для: пользователей, электронных писем, пользовательских полей профиля, категорий и тем.
Мне не нужны пользовательские поля профиля или новые категории, поэтому релевантные CSV-файлы и их указанные поля следующие:
== Формат CSV-файлов
Имя файла: users
Заголовки: id,username
Имя файла: emails
Заголовки: user_id,email
Имя файла: topics_new_users
Заголовки: id,user_id,title,category_id,raw
Имя файла: topics_existing_users
Заголовки: id,user_id,title,category_id,raw
При беглом взгляде на модель данных видно, что темы (Topics) и сообщения (Posts) в Discourse — это две разные сущности с различными полями:
В скрипте я не вижу ничего, что обрабатывало бы сообщения — или даты.
Возможно, предполагается, что я объединю входящие данные о темах и сообщениях, но если так, то как Discourse будет определять связь «тема/ответ»? Это просто порядок ввода? Связаны ли ответы с темой по первому появлению общего ID? Всё, что сказано об ID:
за исключением topics_existing_users, ID в данных могут быть любыми, при условии, что они согласованы между файлами.
Если в скрипте ничего не упущено, то упущено это, видимо, мной. Буду благодарен за любые разъяснения!
