Я в процессе миграции устаревшего форума с примерно 1,3 миллиона сообщений и двадцатилетней историей на Discourse.
Я хотел бы избежать ситуации, когда у каждого пользователя с самого начала после успешной миграции отображается 0 минут прочитанного времени, учитывая, что у многих из них есть история в 5, 10, а у некоторых — более 15 лет.
Учитывая акцент Discourse на времени прочтения (что, на мой взгляд, отлично), было бы здорово иметь возможность провести приблизительный расчёт этого показателя для пользователей со значительной историей, чтобы они не чувствовали, будто их вклад обнулился после миграции. (Хотя геймификация может быть мощным источником вдохновения и мотивации, она также может демотивировать, когда статистика, которой пользователи дорожат, обнуляется.)
Я понимаю, что идеального способа отобразить данные, которые ранее никогда не отслеживались, не существует, но есть ли скрипт, который можно запустить, или, возможно, что-то, что можно добавить в скрипт импорта, чтобы оценить историческое время прочтения пользователя на основе текущего количества его сообщений?
Например:
PostCount = SELECT posts_count FROM posts WHERE id = (ID текущего импортируемого пользователя)
ReadTimePerPost = 300 (секунд)
RetroactiveReadTime = PostCount * ReadTimePerPost
Теоретически возможно ли это сделать, а затем вставить это число в базу данных, привязав его к каждому пользователю?
Если да, то где и как хранится время прочтения?
Кстати, оценка каждого сообщения в 300 секунд времени прочтения — это лишь моя приблизительная оценка. Честно говоря, это, вероятно, очень мало, если учесть всё, но всё же гораздо точнее, чем 0.