几乎所有的导入脚本的工作方式都相同。你需要获取一个 Discourse 可以访问的数据库,通常是通过本地安装一个数据库并将数据推送到那里(例如 mysql mydatabase < thedatabasedump.sql)。Migrate a vBulletin 4 forum to Discourse 应该是一个足够好的模型,但在这个教程中,你将设置这些环境变量,而不是像 export DB_NAME=\"vb4\" 等。
FLARUM_HOST ||= ENV['FLARUM_HOST'] || "db_host"
FLARUM_DB ||= ENV['FLARUM_DB'] || "db_name"
BATCH_SIZE ||= 1000
FLARUM_USER ||= ENV['FLARUM_USER'] || "db_user"
FLARUM_PW ||= ENV['FLARUM_PW'] || "db_user_pass"
脚本不导入密码。你需要向脚本添加一些代码,可能还需要向 migrate password 插件 添加代码,尽管 Flarum 可能使用了已经实现的密码加密方式(我曾经遇到过一次——我随意地将密码导入到一个我为其编写了脚本的随机自定义论坛,结果它就能正常工作了)。让每个人重置密码可能也不是个坏主意;最大的问题是那些知道自己密码但无法访问与其账户关联的电子邮件地址的人。