免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2142 | 回复: 2
打印 上一主题 下一主题

已解决:合并discuz 6论坛导致的用户名错误 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-22 20:03 |只看该作者 |倒序浏览
有两个discuz 6的论坛a和b,因故需要合并。在discuz上面找到一个合并工具,但是只能合并10000个主题、50000个帖子以下的论坛。这两个论坛中的一个已经超过这个要求。于是先把超过要求的论坛复制一份数据库后删除几个版块后保存为a1论坛,再拿原来完整的数据库删除另一半数据库保存为a2论坛,然后先把 a1 和 b 论坛合并为 d 论坛,然后再和 c 论坛合并。为了防止 d 和 c 合并的时候出现太多的重复用户(重复用户id将自动变成id和id_2),在d、c合并的时候没有合并用户信息。这样所有合并完成后的论坛里面,原来 d 里面的用户和帖子正常,c里面的版块的帖子显示用户名正常,但是没有该用户名的其他信息,于是论坛系统判断为该用户已经被删除,于是帖子内容不能显示(内容仍然在,管理员可以看到,普通用户看不到)。请问这样有没有办法解决?谢谢!

能否把那些有问题的帖子的作者和数据库里面的用户关联起来?目前显示的作者名字和数据库里面的用户名完全一样,只是有些版块正常,有些版块里面就显示该用户已经被删除。

[ 本帖最后由 arbor 于 2008-3-31 11:02 编辑 ]

Screenshot-1.png (10.27 KB, 下载次数: 16)

Screenshot-1.png

Screenshot-2.png (23.51 KB, 下载次数: 17)

Screenshot-2.png

论坛徽章:
0
2 [报告]
发表于 2008-03-30 14:11 |只看该作者
我找到问题的原因了,就是合并的时候先分割再合并,造成很多用户有了两个uid,

由于合并工具的限制,必须先把大的论坛分割成两个小的,再和另一个合并

a论坛分割成b和c两个小的,再和d合并

b和d合并,然后再把c合并进来的时候,选择不合并用户信息,否则会产生大量的重名用户,重名用户分别为“原id”和“原id_2”这样的形式,再合并用户更麻烦。当时没有合并用户信息,但是不知道会有什么后果。现在知道了:-)

合并后,c论坛里面的帖子作者的uid都加了b和d合并后的uid总数:14784。但是这些信息只是在帖子的表里面:cdb_posts ,这些较大的uid在用户表:cdb_member里面并不存在,所以会被系统认为不存在

我手工修改了cdb_posts 里面的一个帖子的uid数据,改成正常的,于是帖子也正常了。

所以现在要做的就是把cdb_posts 里面的所有uid大于14784,小于2×14784=29568的uid都减去14784即可。
我对数据库不熟悉,不知道如何做。

而且有些用户被删除,几个用户被合并,等会不会造成uid系统有什么问题?

论坛徽章:
0
3 [报告]
发表于 2008-03-31 11:02 |只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP