logo 摸鱼论坛beta

Discuz论坛迁移到摸鱼论坛数据转换。

迁移范围为核心数据:用户、板块、帖子、回复。Discuz 内容为 BBCode 格式,自动转为 Markdown。


core/console/DiscuzMigrateCommand.php — 迁移命令

使用方法

方式一:一键迁移(自动导入 SQL + 迁移数据)

php yii discuz-migrate/import /path/to/discuz.sql

方式二:手动导入 SQL 后再迁移(适合大文件)

先用 mysql 命令导入
mysql -u root -p your_database < /path/to/discuz.sql
再运行迁移(跳过 SQL 导入)
php yii discuz-migrate/import --skip-sql=1

方式三:自定义表前缀

php yii discuz-migrate/import /path/to/discuz.sql discuz_

清理 Discuz 临时表(确认迁移无误后)

php yii discuz-migrate/clean

例如:

  cd /www/wwwroot/bbs.yt/core
  php yii discuz-migrate/import ../sql/discuz.sql

迁移附件命令:

用法

php yii discuz-migrate/import-attachments /path/to/data/attachment/forum

大概是这样

cd /www/wwwroot/bbs.yt/core
php yii discuz-migrate/import-attachments /path/to/discuz/data/attachment/forum

实现的功能:

  1. 从 Discuz 的 pre_forum_attachment 索引表 + 10 个分片表(_0 到 _9)读取附件元数据
  2. 复制文件到 MoYu 的 upload/YYYYMMDD/ 目录
  3. 创建 bbs_attachment 记录(保持原 aid)
  4. 替换帖子和回复内容中的 [attach]N[/attach] 标签为 (图片)或 文件名(文件)
  5. 支持重复运行,已存在的附件会跳过

迁移内容

数据 来源表 说明
用户 pre_common_member + _count + _status 用户名、邮箱、积分、角色、注册时间
板块 pre_forum_forum + _forumfield 板块名、描述、排序(跳过 group 类型)
帖子 pre_forum_thread + pre_forum_post(first=1) 标题、内容(BBCode→Markdown)、浏览数、回复数
回复 pre_forum_post(first=0) 内容(BBCode→Markdown)、楼层号、时间

注意事项

  • 密码:迁移用户密码已设为不可用,用户需通过"忘记密码"重置
  • 可重复运行:已存在的 ID 会自动跳过
  • 事务保护:全部迁移在事务中执行,失败可回滚
  • BBCode 转换:支持 [b] [i] [url] [img] [quote] [code] [list] [table] 等常见标签

醉里不知天在水 𢵗水捧月扰清波。

  • :xhj003:这个牛逼的,管理员发帖居然还有时间限制:xhj027:

  • @eva #1
    哈哈哈哈 因为懒 等晚上过滤管理员

  • 这个功能好:xhj006:

你好呀,陌生人

看起来你是新来的,如果想参与讨论,可以先登录或注册。

Statistics

注册会员: 330
主题: 637
回复: 1767

所有版块