我成功通过 Google Takeout 导出了我的 Google Groups 数据,上传了 .mbox 文件并完成了导入。
以下步骤有助于将 data/folder 映射到现有分类,但需要在 import 容器中执行,而不是像本文档中那样在 app 容器中执行:参考链接:
./launcher enter import
rails c
# 使用 URL 中显示的分类 ID,例如
# 当分类路径形如 /c/soccer/16 时,ID 为 16
category = Category.find(16)
# 使用存储 mbox 文件的目录名称。例如,
# 如果文件存储在 import/data/foo 中,则目录名称应为 "foo"。
category.custom_fields["import_id"] = "soccer"
category.save!
我已经有部分用户自行迁移到了 Discourse,因此导入脚本未能为他们创建联系人(这或许并非坏事),但这些现有 Discourse 用户参与过的已导入消息中,发件人显示为 system 而非其真实姓名。
是否有任何方法可以将现有用户映射到他们对应的已导入消息?
目前我已通过恢复最近的备份撤销了所有操作。在获得关于如何处理现有 Discourse 用户及其已导入消息的指导后,我准备再次尝试。
更新:
Claude 帮助解决了现有用户的映射问题。除了上述步骤外,还需要在 Rails 控制台中运行以下循环:
User.where("id > 0").find_each do |u|
email = u.email.downcase
unless u.custom_fields["import_id"].present?
u.custom_fields["import_id"] = email
u.save_custom_fields
end
end