跟大家讨论一个Discuz论坛合并的解决方案,看看有没有更好的解决办法

我自己有一个论坛,X1.5,25万用户,这几天买了一个论坛,7.2的,11万用户。

我想把两个论坛用户进行合并,看好了,是用户合并,不是两个论坛合并成一个论坛。

首先要进行用户合并,现在发现的重复用户名有接近1万,产生的帖子和回复总数在5千多,其它表中的数据若干。

我目前完成的ucenter转换程序,将discuz7.2的UC用户合并到了X1.5中,然后使用X1.5的UCenter,也就是对7.2的member表进行升位操作了。

两个论坛的用户已经可以正常交叉登陆或者激活了。

现在麻烦在重复用户的处理上。现在的解决办法是要等重复用户登陆进来以后,提示他更换用户名,获取到新UID以后,再将此用户原来的数据表中的uid进行升位。

这里有一个时间差,如果这个用户的ID是5,没有进行升级时,x1.5中也有一个用户也是5,这里的数据就会重合。

麻烦在这里。

后备方案是,忽略掉重复用户产生的旧数据,这些数据量小,而且比较老,价值并不高。

其它朋友在合并的时候,是直接将重复用户按用户和邮箱进行合并,同名的不同用户,直接将用户名添加前后缀进行激活,然后进行数据升位,这样可以很干净的完成数据合并,这样会损失部份用户体验。

这个方法被我列为第二选择方案。

我目前完成的合并程序,可以自动寻找合并后的用户进行数据库表进行升位,只要数据库下含有uid,authorid的字段,都会自动匹配用户信息完成升级,因此可以不考虑discuz版本。

不知道其它兄台是如何解决这样的问题的。

发表评论

回复 imtos 取消回复

评论列表(1)

  • imtos

    2011.4.30 16:04

    直接将用户名添加前后缀进行激活,然后进行数据升位

    当一个用户名重复的用户登录时,程序判断一次密码是否匹配
    不匹配则把 用户名加上后缀 后再匹配一次

    如果是2次匹配的用户,提示他更换用户名

    目前看来这是最好的解决方法了。可以一次性解决升级的问题。

    回复