帝国论坛帝国网站管理系统交流区帝国CMS使用交流[原创]ECMS4.6与DZ5.5的整合(解决了导入ECMS用户的问题) 【本版专题贴子】  
主题:[原创]ECMS4.6与DZ5.5的整合(解决了导入ECMS用户的问题) [加入收藏夹]   

all
用户头衔:进士

精华贴   :1
发贴数   :1064
经验值   :2921
注册时间:2006-09-06
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[原创]ECMS4.6与DZ5.5的整合(解决了导入ECMS用户的问题)
前言:
花了大概1天的时间,将Ecsm4.6和Discuz5.5整合完毕
本文只是供MYSQL的菜鸟观看!因为我是菜鸟。
版权归中国湿地网|http://www.wetlands.cn所有,欢迎转载:)

背景:

  其实一周前我就已经开始着手打算整合论坛和我的Ecms了。

  详细按照下载的整合插件包中提供的方法,很快就整合成功,可是整合后我发现存在一个很严重的问题:那就是我的ecms原来的200多用户无法登陆了,若想整合discuz将放弃我原来ecms的用户数据。我现在网站(中国湿地网 http://www.wetlands.cn)的信息更新很大一部分来自于这些忠实用户的投稿,因此我无法接受让这200多用户重新注册。既然两个系统能够整合,说明这两个系统的关键字段是通用的,比如都是MD5加密,而且加密的方式也一样,还有关键字段的数据类型等也是一样的。

  经过一番努力,终于将网站(http://www.wetlands.cn)和论坛整合成功,你们现在可以看到论坛(http://www.wetlands.cn/bbs)已经有200多用户了!

  OK,现在和我一起回顾一下我是如何整合的!

分析:

  详细分析了ecms4.6整合dz时对数据表的改动。
  ecms4.6整合dz后,将舍弃自己的数据表phome_enewsmember,而转为使用cdb_members,并在cdb_members中增加phome_enewsmember中存在的而cdb_members中没有的字段,其中uid username password 和email是最关键的字段了。整合后cdb_members中多出了"enewsgroupid,enewsrnd,enewsuserfen,enewsmoney,enewsuserdate,enewstodaydate,enewstodaydown,enewszgroupid,enewshavemsg"这些字段。因此,我只要把phome_enewsmember的数据insert 到cdb_members后就可以了。

动手:

1 备份 cdb_members 和 phome_enewsmember,嘿嘿,无论做什么事情,尤其这种数据操作,备份没有坏处,给自己留条万一不成功的后路。做人也是这样的哦,有点扯远了。(可以再复制到另外两个表中,比如cdb_members1和phome_enewsmember1)

2 查看你的dz已经注册多少用户,将注册的用户数的个数记为N,执行SQL语句

update phome_enewsmember1 set userid=userid+N

解释:保证你phome_enewsmember1中的userid,可以顺序添加到cdb_members中的uid后

3 将phome_enewsmember1中的数据添加到cdb_members中,执行SQL语句

insert into cdb_members (uid,username,password,secques,gender,adminid,groupid,groupexpiry,extgroupids,regip,regdate,lastip,lastvisit,lastactivity,lastpost,posts,digestposts,oltime,pageviews,credits,extcredits1,extcredits2,extcredits3,extcredits4,extcredits5,extcredits6,extcredits7,extcredits8,email,bday,sigstatus,tpp,ppp,styleid,dateformat,timeformat,pmsound,showemail,newsletter,invisible,timeoffset,newpm,accessmasks,editormode,customshow,xspacestatus,enewsgroupid,enewsrnd,enewsuserfen,enewsmoney,enewsuserdate,enewstodaydate,enewstodaydown,enewszgroupid,enewshavemsg) select userid,username,password,'',0,0,10,0,'','',1179119279,'',1179119279,1179119279,0,0,0,0,0,0,0,0,0,0,0,0,0,0,email,0000-00-00,0,0,0,0,'',0,0,0,1,0,9999,1,0,2,26,0,groupid,rnd,userfen,money,userdate,todaydate,todaydown,zgroupid,havemsg from phome_enewsmember;

解释:这个是保证将phome_enewsmember中的userid,username,password和email导入到dz的cdb_members中,其中的数字10为用户组,数字串1179119279是注册时间以及登陆时间等,这个数字转换之后是20070514,你可以改成你想要的时间。

4 将phome_enewsmember1中的userid导入到 cdb_memberfields中,执行SQL语句

insert into cdb_memberfields (uid,nickname,site,alipay,icq,qq,yahoo,msn,taobao,location,customstatus,medals,avatar,avatarwidth,avatarheight,bio,sightml,ignorepm,groupterms,authstr,spacename) select userid,'','','','','','','','','','','','',0,0,'','','','','','' from phome_enewsmember1

这些做完后去dz的后台里面更新数据缓存,就ok了!

可能碰到的问题:

1 如果phome_enewsmember内部,或者与cdb_members中有相同的用户名,那么将不会导入成功,你可以根据导入时出现的错误提示将相同的username删除,SQL语句为:

select * from phome_enewsmember1 where username='相同的username'

2 如果只是将phome_enewsmember的部分数据导入cdb_members中而出错,想重新导入,可以使用如下SQL命令来删除导入的数据:

delete from cdb_members where uid>N

[该贴被修改 1 次,最后修改时间 2007-05-20 19:59:00 ]



2007-05-20 19:57:29 已设置保密 顶部 回复 引用 报告 编辑 删除

ch547137
用户头衔:秀才

精华贴   :0
发贴数   :101
经验值   :501
注册时间:2005-07-28
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

呕像,先顶在慢慢看




2007-05-20 20:02:51 已设置保密 顶部 回复 引用 报告 编辑 删除

fy007
用户头衔:举人

精华贴   :0
发贴数   :241
经验值   :958
注册时间:2006-09-22
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

真佩服你的钻研精神。




2007-05-21 03:54:28 已设置保密 顶部 回复 引用 报告 编辑 删除

all
用户头衔:进士

精华贴   :1
发贴数   :1064
经验值   :2921
注册时间:2006-09-06
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

唉,其实就是一个insert ..selcet ..语句。。

原来问了Wc好几次都说不行,

没办法自己动手丰衣足食呗,呵呵。




2007-05-21 13:16:33 已设置保密 顶部 回复 引用 报告 编辑 删除

boy85
用户头衔:秀才

精华贴   :0
发贴数   :177
经验值   :439
注册时间:2007-05-01
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

不错



我就喜欢帝国 爱咋咋地
2007-05-21 13:53:27 已设置保密 顶部 回复 引用 报告 编辑 删除

重新来过
用户头衔:书生

精华贴   :0
发贴数   :51
经验值   :186
注册时间:2007-05-10
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

顶~~

偶从帝国1.0起开始追随于WC

靠卖帝国盗版为生,至今为止,大大小小卖了五六千份!

共也挣了十几万,如今洋房小车美女都有了,


但就是没有兄台这技术!唯一的出路,就是接着卖~~~~




2007-05-21 14:24:40 已设置保密 顶部 回复 引用 报告 编辑 删除

hkin
用户头衔:举人

精华贴   :0
发贴数   :184
经验值   :824
注册时间:2006-04-29
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

整合後会改变dz的数据库???




2007-05-21 14:57:26 已设置保密 顶部 回复 引用 报告 编辑 删除

aimm
用户头衔:书生

精华贴   :0
发贴数   :62
经验值   :172
注册时间:2007-04-06
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

顶~~

偶从帝国1.0起开始追随于WC

靠卖帝国盗版为生,至今为止,大大小小卖了五六千份!

共也挣了十几万,如今洋房小车美女都...




帝国cms讨论群25184267,我的帝国我做主!
2007-05-21 18:21:02 已设置保密 顶部 回复 引用 报告 编辑 删除

all
用户头衔:进士

精华贴   :1
发贴数   :1064
经验值   :2921
注册时间:2006-09-06
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

对的,只是在dz的cdb_members里面增加若干ecms4.6的字段,若取消整合,不影响dz的使用。。




2007-05-22 11:58:22 已设置保密 顶部 回复 引用 报告 编辑 删除

ywyo
用户头衔:书生

精华贴   :0
发贴数   :26
经验值   :85
注册时间:2007-10-14
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

恩。说的没错,很好,值得学习。



http://www.ywyo.com
亿网友BT资源站
2007-11-08 13:26:39 已设置保密 顶部 回复 引用 报告 编辑 删除

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1