Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

[发布]Discuz6.0论坛合并工具(07.10.18更新)

[复制链接]
postm 发表于 2008-8-1 20:56:54 | 显示全部楼层
请问my.ini放在哪里??
不懂mysql....

两个论坛都放在同个虚拟主机
因为是远程主机~~所以主机的位址是打IP

[ 本帖最后由 postm 于 2008-8-1 21:01 编辑 ]
回复

使用道具 举报

 楼主| 白乐天 发表于 2008-8-3 12:33:30 | 显示全部楼层
原帖由 postm 于 2008-8-1 20:56 发表
请问my.ini放在哪里??
不懂mysql....

两个论坛都放在同个虚拟主机
因为是远程主机~~所以主机的位址是打IP

你本机装个集成环境进行合并就明白了,推荐dz自己的ComsenzEXP
回复

使用道具 举报

shieldhand 发表于 2008-8-9 12:53:26 | 显示全部楼层
你好,我的情况是这样的,原来的论坛用的是DV,后来因为某些原因换其他程序时只把用户都导了出来,而帖子板块都是全新的。

新论坛也运行了2年多,现在想把两个论坛的数据合成一个。新论坛和旧论坛的帖子没有重复,用户比旧论坛的用户多。都升级到DZ6.1后,数据库旧论坛是170M,新论坛是40M,无法使用你的合并工具进行合并。

合并的思路是只要导入forums、threads、posts三个表,手动导入,在phpmyadmin中分别执行如下代码:
  1. UPDATE old_forums SET fid=fid+100
  2. UPDATE old_forums SET fup=fup+100
  3. UPDATE old_threads SET fid=fid+100
  4. UPDATE old_posts SET fid=fid+100

  5. UPDATE old_threads SET tid=tid+50000
  6. UPDATE old_posts SET tid=tid+50000

  7. UPDATE old_posts SET pid=pid+250000
  8. replace INTO `cdb_forums` (`fid`,`fup`,`type`,`name`,`status`,`displayorder`,`styleid`,`threads`,`posts`,`todayposts`,`lastpost`)
  9. SELECT `old_forums`.`fid`,`old_forums`.`fup`,`old_forums`.`type`,`old_forums`.`name`,`old_forums`.`status`,`old_forums`.`displayorder`,`old_forums`.`styleid`,`old_forums`.`threads`,`old_forums`.`posts`,`old_forums`.`todayposts`,`old_forums`.`lastpost`
  10. FROM `old_forums`

  11. replace INTO `cdb_threads` (`tid`,`fid`,`author`,`authorid`,`subject`,`dateline`,`lastposter`,`views`,`replies`)
  12. SELECT `old_threads`.`tid`,`old_threads`.`fid`,`old_threads`.`author`,`old_threads`.`authorid`,`old_threads`.`subject`,`old_threads`.`dateline`,`old_threads`.`lastposter`,`old_threads`.`views`,`old_threads`.`replies`
  13. FROM `old_threads`

  14. replace INTO `cdb_posts` (`pid`,`fid`,`tid`,`first`,`author`,`authorid`,`subject`,`dateline`,`message`,`useip`,`invisible`,`anonymous`,`usesig`,`htmlon`,`bbcodeoff`,`smileyoff`,`parseurloff`,`attachment`,`rate`,`ratetimes`,`status`)
  15. SELECT `old_posts`.`pid`,`old_posts`.`fid`,`old_posts`.`tid`,`old_posts`.`first`,`old_posts`.`author`,`old_posts`.`authorid`,`old_posts`.`subject`,`old_posts`.`dateline`,`old_posts`.`message`,`old_posts`.`useip`,`old_posts`.`invisible`,`old_posts`.`anonymous`,`old_posts`.`usesig`,`old_posts`.`htmlon`,`old_posts`.`bbcodeoff`,`old_posts`.`smileyoff`,`old_posts`.`parseurloff`,`old_posts`.`attachment`,`old_posts`.`rate`,`old_posts`.`ratetimes`,`old_posts`.`status`
  16. FROM `old_posts`
复制代码
新论坛的主题数只有2万多,所以给旧论坛的主题贴tid都加了50000。

合并后一切正常,但是新发部分主题会跟老帖子的ID重复,比如都是74264,导致新主题变成老帖的一个回复。重建缓存、统计数无效,我想知道是不是在我操作的过程中漏了什么,希望能给予帮助,谢谢!
回复

使用道具 举报

 楼主| 白乐天 发表于 2008-8-9 20:27:25 | 显示全部楼层
原帖由 shieldhand 于 2008-8-9 12:53 发表
你好,我的情况是这样的,原来的论坛用的是DV,后来因为某些原因换其他程序时只把用户都导了出来,而帖子板块都是全新的。

新论坛也运行了2年多,现在想把两个论坛的数据合成一个。新论坛和旧论坛的帖子没有重复, ...

你进cdb_threads表把AUTO_INCREMENT基值改大一些(以cdb_posts表的最大tid为准+1)
回复

使用道具 举报

shieldhand 发表于 2008-8-11 07:46:13 | 显示全部楼层
问题解决了,谢谢你。
回复

使用道具 举报

yangneng 发表于 2008-8-22 11:20:14 | 显示全部楼层
是个好东西。我也正想要,但不知道能不能实现6.0 和6.1的合并,并到6.0里呀???????
回复

使用道具 举报

 楼主| 白乐天 发表于 2008-8-22 19:34:51 | 显示全部楼层
原帖由 yangneng 于 2008-8-22 11:20 发表
是个好东西。我也正想要,但不知道能不能实现6.0 和6.1的合并,并到6.0里呀???????

不行,只有同版本才可以合并。
回复

使用道具 举报

成都小财神 发表于 2008-10-27 13:11:05 | 显示全部楼层
从2号复制到1号,如过2号论坛和1号论坛有帖子是重复的,复制过后的1号论坛的相同帖子是什么样子呢?
回复

使用道具 举报

 楼主| 白乐天 发表于 2008-10-27 22:33:38 | 显示全部楼层
从2号复制到1号,如过2号论坛和1号论坛有帖子是重复的,复制过后的1号论坛的相同帖子是什么样子呢?
成都小财神 发表于 2008-10-27 13:11

各自独立存在。你自己手动删一个。
回复

使用道具 举报

kewang2 发表于 2008-12-17 01:49:22 | 显示全部楼层
((em:01))
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-13 20:58 , Processed in 0.086006 second(s), 13 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表