14 12
发新话题
打印

Discuz! Lite 1.0 RC1 to Discuz! 4.1.0 转换方法

本主题由 CS1.3 于 2007-12-17 13:40 下沉

Discuz! Lite 1.0 RC1 to Discuz! 4.1.0 转换方法

====================================================================


请直接到此帖下载转换程序


http://www.freediscuz.net/bbs/thread-3112-1-1.html


====================================================================


作者:FreeDiscuz! Team
日期:2007年2月26日
未经 FreeDiscuz! 允许,本文禁止任何人以任何形式传播和转载,否则一切责任由违反规定者自负!
最新信息:http://www.freediscuz.net/bbs/viewthread.php?tid=2675

  请确保您的论坛是 Discuz! Lite 1.0 RC1 070226 以上版本,希望将论坛数据转换至 Discuz! 4.1.0 官方标准版本。如果您的表前缀不是默认的 cdb_ ,请在执行 SQL 语句前对表前缀进行更改。

请做以下操作前先备份您的数据库,以免升级失败数据损失!!



请关闭论坛,给您的论坛数据做全面备份之后,开始以下操作!
若没有进行备份而导致数据损失的,任何未按步骤进行以及人工操作不当因素导致的问题, FreeDiscuz! 不承担任何责任。


第一步
进入论坛后台系统设置的“数据库升级”,粘贴第一部分SQL语句并执行:
复制内容到剪贴板
代码:
# 版面横排删除
ALTER TABLE cdb_forums DROP `forumcolumns`;

# 置顶选择显示删除
ALTER TABLE cdb_forums DROP `disableglobalstick`;

# 无限下级删除
ALTER TABLE cdb_forums CHANGE `type` `type` enum('group','forum','sub') NOT NULL default 'forum';

# 下级权限继承复原
ALTER TABLE cdb_forums ADD `inheritedmod` tinyint(1) NOT NULL default '0';

# 我的评分删除
ALTER TABLE cdb_ratelog DROP `ratetoid`;

# ICP备案删除
DELETE FROM cdb_settings WHERE `variable` = 'icp';

# 帖内评分显示删除
DELETE FROM cdb_settings WHERE `variable` = 'ratelogrecord';

# 提示信息类型删除
DELETE FROM cdb_settings WHERE `variable` = 'quickmsg';

# 积分设置删除
DELETE FROM cdb_settings WHERE `variable` = 'creditstitle';
DELETE FROM cdb_settings WHERE `variable` = 'creditsunit';

# 导航栏分类名称删除
DELETE FROM cdb_settings WHERE `variable` = 'groupnavigation';

# 允许查看隐身会员删除
ALTER TABLE cdb_usergroups DROP `allowviewinvisible`;

# 标准版自带Blog文集恢复
CREATE TABLE cdb_blogcaches (
  uid mediumint(8) unsigned NOT NULL default '0',
  variable varchar(10) NOT NULL default '',
  `value` text NOT NULL,
  PRIMARY KEY  (uid,variable)
) TYPE=MyISAM;

ALTER TABLE cdb_sessions ADD `bloguid` mediumint(8) unsigned NOT NULL default '0';
ALTER TABLE cdb_forums ADD `allowblog` tinyint(1) NOT NULL default '0';
ALTER TABLE cdb_threads ADD `blog` tinyint(1) NOT NULL default '0';
ALTER TABLE cdb_usergroups ADD `allowuseblog` tinyint(1) NOT NULL default '0';
第二步
执行第二部分SQL语句:
复制内容到剪贴板
代码:
# 在线列表删除
DROP TABLE cdb_onlinelist;
ALTER TABLE cdb_usergroups DROP `grouporder`;
ALTER TABLE cdb_sessions DROP `grouporder`;
DELETE FROM cdb_settings WHERE `variable` = 'onlineorder';
DELETE FROM cdb_settings WHERE `variable` = 'onlineascdesc';

# 在线列表数据结构复原
CREATE TABLE cdb_onlinelist (
  groupid smallint(6) unsigned NOT NULL default '0',
  displayorder tinyint(3) NOT NULL default '0',
  title varchar(30) NOT NULL default '',
  url varchar(30) NOT NULL default ''
) TYPE=MyISAM;

# 在线列表数据初始化
INSERT INTO cdb_onlinelist VALUES (1, 1, '管理员', 'online_admin.gif');
INSERT INTO cdb_onlinelist VALUES (2, 2, '超级版主', 'online_supermod.gif');
INSERT INTO cdb_onlinelist VALUES (3, 3, '版主', 'online_moderator.gif');
INSERT INTO cdb_onlinelist VALUES (0, 4, '会员', 'online_member.gif');

# 帖子买卖恢复
CREATE TABLE cdb_orders (
  orderid char(32) NOT NULL default '',
  `status` char(3) NOT NULL default '',
  buyer char(50) NOT NULL default '',
  admin char(15) NOT NULL default '',
  uid mediumint(8) unsigned NOT NULL default '0',
  amount int(10) unsigned NOT NULL default '0',
  price float(7,2) unsigned NOT NULL default '0.00',
  submitdate int(10) unsigned NOT NULL default '0',
  confirmdate int(10) unsigned NOT NULL default '0',
  UNIQUE KEY orderid (orderid),
  KEY submitdate (submitdate),
  KEY uid (uid,submitdate)
) TYPE=MyISAM;

ALTER TABLE cdb_usergroups ADD `maxprice` smallint(6) unsigned NOT NULL default '0';
ALTER TABLE cdb_threads ADD `price` smallint(6) NOT NULL default '0';

# 天下秀恢复
ALTER TABLE cdb_members ADD `avatarshowid` int(10) unsigned NOT NULL default '0';
INSERT INTO cdb_settings VALUES ('avatarshowdefault', '0');
INSERT INTO cdb_settings VALUES ('avatarshowheight', '200');
INSERT INTO cdb_settings VALUES ('avatarshowlink', '1');
INSERT INTO cdb_settings VALUES ('avatarshowpos', '3');
INSERT INTO cdb_settings VALUES ('avatarshowstatus', '1');
INSERT INTO cdb_settings VALUES ('avatarshowwidth', '135');
第三步
执行第三部分SQL语句:
复制内容到剪贴板
代码:
# 支付宝恢复
ALTER TABLE cdb_memberfields ADD `alipay` varchar(50) NOT NULL default '';
ALTER TABLE cdb_forums ADD `allowtrade` tinyint(1) NOT NULL default '0';

CREATE TABLE cdb_creditslog (
  uid mediumint(8) unsigned NOT NULL default '0',
  fromto char(15) NOT NULL default '',
  sendcredits tinyint(1) NOT NULL default '0',
  receivecredits tinyint(1) NOT NULL default '0',
  send int(10) unsigned NOT NULL default '0',
  receive int(10) unsigned NOT NULL default '0',
  dateline int(10) unsigned NOT NULL default '0',
  operation char(3) NOT NULL default '',
  KEY uid (uid,dateline)
) TYPE=MyISAM;

CREATE TABLE `cdb_paymentlog` (
`uid` mediumint(8) unsigned NOT NULL default '0',
`tid` mediumint(8) unsigned NOT NULL default '0',
`authorid` mediumint(8) unsigned NOT NULL default '0',
`dateline` int(10) unsigned NOT NULL default '0',
`amount` int(10) unsigned NOT NULL default '0',
`netamount` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`tid`,`uid`),
KEY `uid` (`uid`),
KEY `authorid` (`authorid`)
) ENGINE=MyISAM;

# 奇虎搜索恢复
CREATE TABLE cdb_relatedthreads (
  tid mediumint(8) NOT NULL default '0',
  expiration int(10) NOT NULL default '0',
  keywords varchar(255) NOT NULL default '',
  relatedthreads text NOT NULL,
  PRIMARY KEY  (tid)
) TYPE=MyISAM;

INSERT INTO cdb_settings VALUES ('qihoo_adminemail', '');
INSERT INTO cdb_settings VALUES ('qihoo_keywords', '');
INSERT INTO cdb_settings VALUES ('qihoo_maxtopics', '10');
INSERT INTO cdb_settings VALUES ('qihoo_relatedthreads', '5');
INSERT INTO cdb_settings VALUES ('qihoo_summary', '1');
INSERT INTO cdb_settings VALUES ('qihoo_searchbox', '0');
INSERT INTO cdb_settings VALUES ('qihoo_status', '0');
INSERT INTO cdb_settings VALUES ('qihoo_topics', '');
INSERT INTO cdb_settings VALUES ('qihoo_validity', '1');

# Discuz! 4.1.0 默认风格数据
DELETE FROM cdb_stylevars WHERE `styleid` = 1;
INSERT INTO cdb_stylevars VALUES (1, 1, 'bgcolor', '#9EB6D8');
INSERT INTO cdb_stylevars VALUES (2, 1, 'altbg1', '#F8F8F8');
INSERT INTO cdb_stylevars VALUES (3, 1, 'altbg2', '#FFFFFF');
INSERT INTO cdb_stylevars VALUES (4, 1, 'link', '#003366');
INSERT INTO cdb_stylevars VALUES (5, 1, 'bordercolor', '#698CC3');
INSERT INTO cdb_stylevars VALUES (6, 1, 'headercolor', '#698CC3');
INSERT INTO cdb_stylevars VALUES (7, 1, 'headertext', '#FFFFFF');
INSERT INTO cdb_stylevars VALUES (8, 1, 'catcolor', '#EFEFEF');
INSERT INTO cdb_stylevars VALUES (9, 1, 'tabletext', '#000000');
INSERT INTO cdb_stylevars VALUES (10, 1, 'text', '#000000');
INSERT INTO cdb_stylevars VALUES (11, 1, 'borderwidth', '1');
INSERT INTO cdb_stylevars VALUES (12, 1, 'tablewidth', '98%');
INSERT INTO cdb_stylevars VALUES (13, 1, 'tablespace', '4');
INSERT INTO cdb_stylevars VALUES (14, 1, 'font', 'Tahoma, Verdana');
INSERT INTO cdb_stylevars VALUES (15, 1, 'fontsize', '12px');
INSERT INTO cdb_stylevars VALUES (16, 1, 'msgfontsize', '12px');
INSERT INTO cdb_stylevars VALUES (17, 1, 'nobold', '0');
INSERT INTO cdb_stylevars VALUES (18, 1, 'boardimg', 'logo.gif');
INSERT INTO cdb_stylevars VALUES (19, 1, 'imgdir', 'images/default');
INSERT INTO cdb_stylevars VALUES (20, 1, 'smdir', 'images/smilies');
INSERT INTO cdb_stylevars VALUES (21, 1, 'cattext', '#000000');
INSERT INTO cdb_stylevars VALUES (22, 1, 'smfontsize', '11px');
INSERT INTO cdb_stylevars VALUES (23, 1, 'smfont', 'Arial, Tahoma');
INSERT INTO cdb_stylevars VALUES (25, 1, 'maintablewidth', '98%');
INSERT INTO cdb_stylevars VALUES (26, 1, 'maintablecolor', '#FFFFFF');
INSERT INTO cdb_stylevars VALUES (27, 1, 'innerborderwidth', '1');
INSERT INTO cdb_stylevars VALUES (28, 1, 'innerbordercolor', '#D6E0EF');
第四步
执行第四部分SQL语句
复制内容到剪贴板
代码:
# 多级管理权限删除
DROP TABLE cdb_admingroups;

# 管理权限数据结构复原
CREATE TABLE cdb_admingroups (
  admingid smallint(6) unsigned NOT NULL default '0',
  alloweditpost tinyint(1) NOT NULL default '0',
  alloweditpoll tinyint(1) NOT NULL default '0',
  allowstickthread tinyint(1) NOT NULL default '0',
  allowmodpost tinyint(1) NOT NULL default '0',
  allowdelpost tinyint(1) NOT NULL default '0',
  allowmassprune tinyint(1) NOT NULL default '0',
  allowrefund tinyint(1) NOT NULL default '0',
  allowcensorword tinyint(1) NOT NULL default '0',
  allowviewip tinyint(1) NOT NULL default '0',
  allowbanip tinyint(1) NOT NULL default '0',
  allowedituser tinyint(1) NOT NULL default '0',
  allowmoduser tinyint(1) NOT NULL default '0',
  allowbanuser tinyint(1) NOT NULL default '0',
  allowpostannounce tinyint(1) NOT NULL default '0',
  allowviewlog tinyint(1) NOT NULL default '0',
  disablepostctrl tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (admingid)
) TYPE=MyISAM;

# 管理权限数据初始化
INSERT INTO cdb_admingroups VALUES (1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
INSERT INTO cdb_admingroups VALUES (2, 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
INSERT INTO cdb_admingroups VALUES (3, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1);

# 头像签名图片自定义显示删除
ALTER TABLE `cdb_members` DROP `customshow`;
DELETE FROM cdb_settings WHERE `variable` = 'showsettings';

# 在线列表相关
ALTER TABLE cdb_sessions DROP `grouporder`;
TRUNCATE TABLE cdb_sessions;
第五步
上传 Discuz! 4.1.0 标准版所有目录和文件(install目录和install.php除外),配置好 config.inc.php 。


第六步
请使用论坛管理员身份登录论坛,进入后台系统设置,更新缓存,重新设置 管理组管理权限 以及 在线列表 显示。请您修改有关 帖子买卖 的有关设置,调整用户组及论坛版面 Blog文集 的使用权限,修改 论坛版面排序结构 等设置。


* 如果您需要彻底清理 Discuz! Lite 1.0 RC1 中没有转换的帖子买卖残余数据信息,请执行以下SQL语句:
复制内容到剪贴板
代码:
ALTER TABLE cdb_forums DROP `allowtosell`;
ALTER TABLE cdb_usergroups DROP `allowsellpost`;
ALTER TABLE cdb_usergroups DROP `allowsellattach`;
ALTER TABLE cdb_usergroups DROP `sellscope`;
ALTER TABLE cdb_attachments DROP `sellid`;
ALTER TABLE cdb_posts DROP `price`;
  执行完毕以上所有 SQL 语句操作之后的数据结构已经全部通过 DBCheck (For Discuz! 4.1.0)的校验。(最新版本 DBCheck 请见:http://www.exinqing.net/discuz/viewthread.php?tid=89



如果您有任何问题,欢迎登录 FreeDiscuz! 交流论坛(www.FreeDiscuz.net)询问或交流。

感谢您选用由 FreeDiscuz! 改进完善的 Discuz! Lite 系列产品,感谢您对 FreeDiscuz! 的支持与厚爱!

TOP

本方法经过多次测试,基本没有任何问题。
如有问题请跟贴反馈。

其中,【升级错误,MySQL 提示: Duplicate entry '28' for key 1】类似这样的提示表明该数据已经存在,则不需要在执行涉及该数据语句。

TOP

暂时没发现问题.
我只想,尽一份力。

TOP

回复 #3 TaRot 的帖子

谢~~

TOP

第三步

升级错误,MySQL 提示: Duplicate entry '28' for key 1

第四步
升级错误,MySQL 提示: Can't DROP 'grouporder'; check that column/key exists

TOP

lite是utf编码的吧
而dz一般大家都用GBK...这样转不会出问题?

TOP

#6:config.inc.php 里边有字符集的设置
#5:第三步的错误不必领会,只是与过去的数据重复了而已。
第四步的错误是不能清除一个字段,不会影响使用,可以通过那个校验程序来核对数据库结构。

TOP

OK..明白...正在进行本地测试

TOP

我学中。

TOP

呀```怎么多的代码呀`
真是很难搞好哦

TOP

 14 12
发新话题