文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程PHPDiscuz!2.0到Discuz!5.0升级成功笔记
精品推荐
特别推荐
·菜鸟学PHP之Smarty入门
·PHP环境安全配置教程
·PHP入门指导:如何学习PHP?
·Php+Mysql注入专题
·PHP:实现给上传图片加水印的程序代码
·PHP动态网站开发中常用的8个小技巧
·PHP初学者:配置Apache服务器并且设置DNS
·初学PHP指导:php.ini 配置详细选项
·好文分享:PHP入门的学习方法
·急速搭建属于自己的Discuz!6论坛
·PHP入门:初学来看配置文件PHP.INI的中文注释
·php.ini配置,php.ini 中的 php-5.2.0 配置指令详解
·总结:一些PHP学习过程中的心得和经验
·新手入门:JSP初学者必须掌握的语法点
·PHP技巧:PHP脚本编程中的文件系统函数库
·详细讲解PHP编程中分页显示的制作
·成为PHP编程高手应该遵循的三个准则
·谈谈生成静态页面的一些经验
·新手入门:详细解述七个软件开发的原则
·简单的webservice开发例子
热点TOP10
·技巧文集:php的mysql性能优化
·技巧文集:PHP如何禁止图片文件的被盗链
·PHP5对Mysql5的任意数据库表的管理代码示例(三)
·将SSH与PHP相连接确保数据安全
·php项目打包
·Win2000下PHP服务器安装攻略
·Windows XP下PHP+MySQL环境搭建
·PHP中删除目录的三种方法
·PHP入门指导:如何学习PHP?
·帝国ecms教程:一些常用的技巧大全
·PHP5中新增加的日期(date)函数的常量
·最普通的7种软文类型
·PHP连接远程MYSQL和MYSQL5.1中文乱码处理方法
·PHP:实现给上传图片加水印的程序代码
·PHP入门:define的使用
·PHP动态网站开发中常用的8个小技巧
·PHP上传文件的代码
·PHP 开发中的中文编码问题
·PHP5对Mysql5的任意数据库表的管理代码示例(二)
·ASP使用Filter实现信息的二次检索

Discuz!2.0到Discuz!5.0升级成功笔记

日期:2007年3月5日 作者: 查看:[大字体 中字体 小字体]


先说为什么升级吧,可能了解Discuz!的朋友看到版本号就知道为什么升级了。没错,版本太低,论坛发展受到很大制约成了升级的一个重要原因;另外一个重要原因就是升级前的一段时间社区访问量又有大幅上升,负载能力的不足,给用户带来不良体验,影响用户发贴积极性,制约社区发展。于是痛下决心升级...(ps:我是刚来到公司,系统早该升级了但由于人员不足一直没能落实),整个升级过程由我主刀,前期准备也就是仔细对比现有社区数据库与dz5.0数据库。自从开始使用dz2.0,就开始对其改造,经过近两年的改造,从程序到数据库被改动的地方非常多真可谓“面目全非”,程序的效率及负载能力也因此受到影响。

    下面废话就不多说了,先讲一下大概的过程吧。

    既然升级就需要有所取“舍”,轻装上阵才是硬道理(并不是要丢弃一些数据,只是放到最后去做)。

    一:分析用户数据;
        ①. 由于dz2时期用户资料及个性设置均存储在members表,而dz5是将用户信息和详细资料个性设置分别存储在members,和memberfileds两个表中。
        ②. 两个版本对于用户组的统计存储有较大改动,dz2时期全部依靠credit的值对照usergroup中的设置来确定用户组,而dz5则是根据credits确定用户组之后将组id保存在groupid字段,因此在转移用户数据时就需要对用户组设置有较全面的了解,主要是了解各个用户组的划分界限及组id,在写升级程序时要用到这些数据。
        ③. dz2时期用status来区分用户权限,而dz5中用adminid,groupid来检查权限,因此升级程序要对status为Admin,SuperMod,Moderator,Banned,PostBanned,Inactive的用户重新分配groupid而不能单一通过②中的方法确定。其他字段的数据很容易处理,也没什么特殊之处而且有一部分是两个版本相同的字段。
        ④. 因为以前安装的银行跟现在的银行也有较大改变,dz2时期在用户表中有bank和money字段分别存储存款和现金,dz5中没有存款字段了,只好把用户的存款全部加到现金中,然后保存到dz5的银行扩展字段extcreditsX (X=1,2,…8)。还有一个需要注意的就是存款的利息,(虽然你可能会觉得这个应该是毛毛雨啦,但用户会很在意的。。。)转移银行存款时一起结算吧~~

    二:分析帖子数据;大家都知道,帖子数据是要分threads和posts两个表的,因此在这一步还要分开考虑threads和posts,要注意的就是帖子类型的不同,转数据时会涉及到其他表。从dz2时期就有了"投票帖","附件",升级程序在遇到这些特殊帖子时就需要同时转移投票选项及附件的数据(当然你也可以一个表一个表的转),怎么判断遇到了这些特殊帖?有两个字段可以参考dz2.threads.pollopts和dz2.posts.aid。对于threads表,

        ①. 需要注意的是authorid,在dz2的threads表不记录发帖者uid,因此需要查出dz2.threads表中每条数据对应的uid。
' http://www.knowsky.com/article.asp?typeid=114
        ②. 转移投票帖时需要注意的是:dz2对投票选项采用了serialize()编码,因此就需要unserialize,下面把我的这部分代码贴出来供参考:

       if ($rows['pollopts']){           // 处理投票帖

              $pollopts = unserialize($rows['pollopts']);

              $i = 0;

              foreach ($pollopts as $key => $v1){

                     if ($key=='options')

                     foreach ($v1 as $v){


[1] [2] [3] 下一页 




上一篇:从数据库中读取一个图片并保存为一个图片文件

下一篇:攻破JNDI连接池(Tomcat5.5下通过管理界面配置连接池)

Discuz!2.0到Discuz!5.0升级成功笔记 相关文章:
·人生成功生涯规划100
·TninkPad笔记本电池使用指南
·[新手]经典问道升级方法1-100(新手看)
·[魔法师]各级法师升级地点参考
·叶子猪大话攻略:生肖宠物升级所需时间一览
·孤胆枪手升级版
·解决Vista SP1升级循环开机问题
·黑客拍卖含Vista攻击代码笔记本
·DELL笔记本QuickSet设置工具A51版
·Google升级在线办公软件 支持表格中插入窗件
Discuz!2.0到Discuz!5.0升级成功笔记 相关软件:
·成功万有定律
·成功少儿培养方案(上中下)高清晰PDF电子书
·余世维《成功经理人讲座》完整电子书
·笔记本维修教程
·帝国时代2征服者 升级补丁v1.0c
·大蜘蛛Dr.Web杀毒软件病毒库升级包 2008.05.13
·熊猫卫士升级包 V05.12
·“时可通” Windows时钟升级套件 V1.0.319
·双重世界-v1.1版升级档免CD补丁
·《迷失地带》欧版v1.0003升级补丁

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot