我目前正在将数据从一个自定义开发的论坛导入到 Discourse。旧论坛大约有 3 万个主题,理想情况下,我希望在导入过程中将它们全部标记为已读。如果我的理解正确,这里相关的表是 post_timings。
我的问题是,是否只需为每个主题中每个用户的最新帖子在 post_timings 中添加一条记录就足够了?还是必须为每个帖子添加记录,即大约 70 万帖子 × 2000 用户?
我目前正在将数据从一个自定义开发的论坛导入到 Discourse。旧论坛大约有 3 万个主题,理想情况下,我希望在导入过程中将它们全部标记为已读。如果我的理解正确,这里相关的表是 post_timings。
我的问题是,是否只需为每个主题中每个用户的最新帖子在 post_timings 中添加一条记录就足够了?还是必须为每个帖子添加记录,即大约 70 万帖子 × 2000 用户?
补充一些关于我具体使用场景的细节:我们即将迁移的旧版论坛软件功能有限但结构简单,而我们的会员年龄跨度大,技术水平也参差不齐。我们已搭建了一个 Discourse 实例供会员试用,同时也在为正式迁移做准备,期间收到了一些反馈,认为该平台相当令人不知所措。
我认为这仅仅是学习曲线的问题——我自己作为 IT 专业人员,也有类似的感觉。一旦大家习惯了这种变化,我相信他们会发现 Discourse 相比旧版软件有明显优势。
我担心的是,在用户适应之前就会流失。如果当有人回复已导入的讨论串时,新用户被直接跳转到该话题的第一篇帖子(而该话题可能有上千条回复),这将严重影响可用性,我认为有些会员可能会因此直接放弃。因此,我非常希望将所有已导入的帖子标记为已读,让用户能直接查看新内容。
在发布此问题之前,我确实搜索过存档,但并未找到能回答这一具体问题的内容。
我想在迁移过程中可能有更简单的方法,也许 @gerhard 会知道?
你好 @gerhard,你有关于如何将导入的话题标记为已读的信息吗?
你需要在 topic_users 表和 post_timings 表中创建记录。你可以使用 TopicUser 和 PostTiming 模型中的方法,也可以通过 SQL 更高效地完成操作。
以下是基础导入脚本中的一个示例,它将帖子标记为作者已读。你需要根据你的使用场景对其进行调整。
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.