Xiuno BBS 转 Zsens BBS 实操教程|完整数据迁移、数据库转换步骤

张先生
张先生 主理圣羽星庭 执序官者社群翘楚勋望元宿
社区管理
置顶 部署教程 180 浏览 4 回复

本文说明如何用本站 数据转换(dataconvert) 插件,将 XIUNO BBS 数据迁入 Zsens 社区

一、迁移前准备

1. 备份

  • 完整备份 XIUNO 站点文件与数据库
  • 完整备份 Zsens 站点文件与数据库(建议在空站或测试站先演练)

2. 安装 Zsens 必要插件

在应用中心安装并启用(按需):

  • 社区:版块、主题、回复、标签(必装)
  • 数据转换:上传 SQL 并执行迁移(必装)
  • 附件上传:迁移帖子附件
  • 网盘资源:正文中的网盘链接
  • 音频媒体:音频附件 / 正文音频
  • 隐藏内容:正文 [hide] 块
  • 付费阅读:主题付费字段(建议与主题帖一并迁移)
  • 内置头像:迁移用户随机头像(插件配置开启时)

3. 复制静态上传目录(重要)

升级 / 迁移数据库之前,先把 XIUNO 站点根目录下的 upload 目录,完整上传到 Zsens 站点:

XIUNO 站点根目录/upload/
        ↓  整目录内容复制到
Zsens 站点根目录/public/storage/uploads/

示例(Linux):

# 假设 xiuno 在 /www/xiuno,zsens 在 /www/zsens
cp -a /www/xiuno/upload/. /www/zsens/public/storage/uploads/

Windows 可用资源管理器或压缩包解压到 public\storage\uploads\,保证例如:

public/storage/uploads/attach/   ← 原 upload/attach
public/storage/uploads/avatar/   ← 原 upload/avatar

迁移后附件、头像、正文图片会按 /storage/uploads/... 访问;未复制该目录则附件与头像会 404

4. 导出 XIUNO 数据库

在 phpMyAdmin / 宝塔 / 命令行导出 XIUNO 库,得到其一即可:

  • .sql
  • .sql.zip / .zip
  • .sql.gz / .gz

插件默认上传上限约 200MB(可在「数据转换」插件配置中调整)。过大时可只导出 bbs_* 相关表。

常见表:bbs_userbbs_forumbbs_threadbbs_postbbs_attachbbs_tagbbs_tag_thread 等。

二、后台操作步骤

  1. 登录 Zsens 后台 → 打开 数据转换(菜单由数据转换插件注册)。
  2. 确认插件配置中 启用数据转换 已打开。
  3. 源程序类型XIUNO BBS(或「自动识别」)。
  4. 选择并 上传 上一步导出的 SQL / 压缩包。
  5. 点击 开始检测:按原表名临时导入过程表,并列出可迁移模块。
  6. 勾选要迁移的模块(建议顺序由系统自动按依赖处理):
       
  7. 可选:清空并重写本站版块(会删除本站全部社区分类后按源站重建;须同时勾选「版块/分类」)。
  8. 点击 开始迁移,等待完成。
  9. 迁移成功后,过程导入的源站临时表会 自动删除;也可手动点「清理导入源表」。

三、模块对应关系(XIUNO → Zsens)

  • 用户:源表 bbs_user — 用户名、积分/金币等;可保留原站密码
  • 版块/分类:源表 bbs_forum — 对应社区分类
  • 主题帖:源表 bbs_thread + 首帖 bbs_post — 正文、置顶/精华、付费字段等
  • 回复:源表 bbs_post(非首帖)
  • 标签:源表 bbs_tag / bbs_tag_thread
  • 附件:源表 bbs_attach — 路径映射到 /storage/uploads/attach/
  • 音频:附件中的音频文件 + 正文音频 — 需音频媒体插件
  • 隐藏内容:正文 [hide] — 需隐藏内容插件
  • 网盘:正文网盘 / [ttDown] 等 — 需网盘资源插件

四、密码与登录

  • 默认开启 保留原站密码:旧 hash+salt 写入转换插件表;用户用原密码登录社区时校验,成功后自动升级为本站 bcrypt。
  • 若关闭「保留原站密码」,或源站密码无效,则使用插件配置中的 迁移用户默认密码(请迁移后通知用户修改)。

五、迁移后检查清单

  1. 前台登录:用原 XIUNO 账号密码试登。
  2. 版块 / 帖子 / 回复是否齐全。
  3. 帖内图片、附件、头像是否能打开(确认 public/storage/uploads 已就位)。
  4. 付费帖、隐藏内容、网盘、音频等扩展是否按预期展示。
  5. 后台「数据转换」会话状态为成功;临时表已清理。

六、注意与限制

  • 迁移写入的是本站业务表;检测阶段的源表仅为过程数据,成功后删除。
  • 请勿在生产高峰时对超大 SQL 直接上传;可先在测试环境验证。
  • 重复迁移同一用户名会跳过已存在用户;主题等有映射记录的也会跳过或更新部分字段。
  • Discuz!X 流程类似,但附件目录与表前缀不同,本文仅针对 XIUNO BBS

七、路径对照(便于排错)

  • upload/attach/... → 物理路径 public/storage/uploads/attach/... → 访问 URL /storage/uploads/attach/...
  • upload/avatar/{uid}.png → 物理路径 public/storage/uploads/avatar/{uid}.png → 访问 URL /storage/uploads/avatar/{uid}.png

正文中原 /upload/... 链接,迁移时会改写为 /storage/uploads/...


迁移前先备份,别搞岔劈了~

隐藏内容1 个
隐藏内容回复本帖后可见此隐藏内容
评论4
评论 · 4
shandian
shandian 新手 · #4 ·
看看
chenshao
chenshao 新手 · #3 ·
看看
风信子
风信子 超管 志愿先锋新站启章 · #2 ·
感谢分享!
小助手
小助手 版主圣羽星庭 勋望元宿志愿先锋 · #1 ·
张先生辛苦整理!这篇 Xiuno 迁移教程非常完整,把插件依赖、目录映射、密码兼容和排错路径都覆盖到了,对想换站的老站长来说非常实用。

特别赞同文中反复强调的「先备份、再演练」—— 数据转换涉及写库操作,在测试站跑通一遍再上生产环境能避开绝大多数风险。

几个容易忽略的小提醒供参考:

1. 依赖插件务必在「上传 SQL 之前」就安装并启用,否则迁移过程中遇到未注册的资源类型可能导致字段丢失。
2. upload 目录复制后,建议检查下 public/storage/uploads/ 的目录权限,确保 Web 用户可读(尤其是 Linux 一键迁移后)。
3. 如果 SQL 超过 200MB 且不想改上传限制,可以分表导出 bbs_thread / bbs_post 等大表单独执行。

如果大家在实际操作中遇到报错或数据异常,欢迎带上「插件版本、PHP 版本、报错截图/日志」开帖反馈,方便我们快速定位。

再次感谢分享!
微信客服 微信客服