[修正]1.7至2.0.1的转换程序
bob 发布于 February 18, 2006 22:44
之前的转换程序存在一些问题,给部分用户的数据转换造成了困扰。主要表现在:
- 部分数据不能导入;
- 用户ID重复(并导致这些用户发表评论和留言时重复显示);
- 副管理员存在问题(为了稳妥起见,修改后的程序不转换副管,所有副管的文章显示为主ID发布,需转换后另行设置);
- 图片链接的地址不正确。
现提供修改后的转换程序。使用天蝎网子提供的数据测试,以上问题全部解决。转换的过程略有变动,注意下文红字部分:
1. 完整正常安装 Bo-Blog V2.0.1。
2. 安装后进入2.0的后台,到文章管理中删除自动生成的第一篇日志。
3. 到2.0的后台的分类管理中删除自动生成的分类 (如果此时程序报错,请忽略)。
4. 到2.0后台的“数据维护”-“刷新缓存”中,选择“刷新计数器”选项下的“最大ID缓存”,按“确定”。
5. 上传 convert.php 到您安装 1.7 的文件夹下并在浏览器内运行,按照这个程序的指导完成数据转换。
6. 程序在完成数据转换后,会要求您填写数据库的一些信息,此时如实填写,即可将所有数据转入数据库中。
7. 转换完成后,到后台的维护选项中,先刷新所有计数器项目,然后刷新所有缓存。
8. 在2.0里重新设置联合撰写人,重新更改副管理员撰写的日志的作者。
下载更新后的转换程序:
下载文件
对于已经转换完成,但存在用户重复导致评论和留言重复的处理方法:
1. 找到新旧用户ID的交界点。比如从 id=200 起是转换后注册的用户,200以前是旧用户(有重复),那么请先删除这些旧用户。使用后台的“数据维护 - MySQL”功能直接执行SQL语句:
DELETE FROM [db]user WHERE userid<=200 AND userid<>1
UPDATE [db]user SET userid=userid+28000 WHERE userid<>1
其中第2句的目的是为了尽可能地拉开id的差距,以防修正后新老ID出现重复。
2. 重新在1.7的数据基础上直接执行转换程序。进行到用户数据转换完毕后,立即停止。
3. 然后修改 result/ 下的filelist.txt文件。删除以 result/sql_blogs_ 开头的行,保留 result/sql_users_ 开头的行。
4. 直接执行 convert.php?step=8 ,进入数据导入。
5. 完成后到后台刷新所有的缓存、计数器。
- 部分数据不能导入;
- 用户ID重复(并导致这些用户发表评论和留言时重复显示);
- 副管理员存在问题(为了稳妥起见,修改后的程序不转换副管,所有副管的文章显示为主ID发布,需转换后另行设置);
- 图片链接的地址不正确。
现提供修改后的转换程序。使用天蝎网子提供的数据测试,以上问题全部解决。转换的过程略有变动,注意下文红字部分:
1. 完整正常安装 Bo-Blog V2.0.1。
2. 安装后进入2.0的后台,到文章管理中删除自动生成的第一篇日志。
3. 到2.0的后台的分类管理中删除自动生成的分类 (如果此时程序报错,请忽略)。
4. 到2.0后台的“数据维护”-“刷新缓存”中,选择“刷新计数器”选项下的“最大ID缓存”,按“确定”。
5. 上传 convert.php 到您安装 1.7 的文件夹下并在浏览器内运行,按照这个程序的指导完成数据转换。
6. 程序在完成数据转换后,会要求您填写数据库的一些信息,此时如实填写,即可将所有数据转入数据库中。
7. 转换完成后,到后台的维护选项中,先刷新所有计数器项目,然后刷新所有缓存。
8. 在2.0里重新设置联合撰写人,重新更改副管理员撰写的日志的作者。
下载更新后的转换程序:
下载文件 对于已经转换完成,但存在用户重复导致评论和留言重复的处理方法:
1. 找到新旧用户ID的交界点。比如从 id=200 起是转换后注册的用户,200以前是旧用户(有重复),那么请先删除这些旧用户。使用后台的“数据维护 - MySQL”功能直接执行SQL语句:
DELETE FROM [db]user WHERE userid<=200 AND userid<>1
UPDATE [db]user SET userid=userid+28000 WHERE userid<>1
其中第2句的目的是为了尽可能地拉开id的差距,以防修正后新老ID出现重复。
2. 重新在1.7的数据基础上直接执行转换程序。进行到用户数据转换完毕后,立即停止。
3. 然后修改 result/ 下的filelist.txt文件。删除以 result/sql_blogs_ 开头的行,保留 result/sql_users_ 开头的行。
4. 直接执行 convert.php?step=8 ,进入数据导入。
5. 完成后到后台刷新所有的缓存、计数器。
google
google
January 9, 2008 14:09
回复
xoboy.net
请问,我在转换数据库过程中没有出现问题,一切步骤按update的说明文件操作,但是转换成功后发现有100篇文章不知去向,请问谁有类似的情况发生?怎样解决?谢谢!
July 7, 2006 11:11
elvis
转换运行convert.php时出现如下问题,请bob或者其他朋友指点一下如何解决。谢谢。。
-------
Bo-Blog 1.7 -> 2.0.1 数据转换程序
在您指定的位置: boblog/ 找不到用户数据文件 userid.php。
请按键盘上的退格键返回上一页。
Bo-Blog 1.7 -> 2.0.1 数据转换程序
在您指定的位置: boblog/ 找不到文章数据列表文件 list.php。
请按键盘上的退格键返回上一页。
-------
Bo-Blog 1.7 -> 2.0.1 数据转换程序
在您指定的位置: boblog/ 找不到用户数据文件 userid.php。
请按键盘上的退格键返回上一页。
Bo-Blog 1.7 -> 2.0.1 数据转换程序
在您指定的位置: boblog/ 找不到文章数据列表文件 list.php。
请按键盘上的退格键返回上一页。
May 21, 2006 03:49
是我
我使用这个程序转换的时候 竟然提示
Warning: fread(): Length parameter must be greater than 0. in /vhost/eviloctal/ftproot/wwwroot/myblog/convert.php on line 493
Warning: fread(): Length parameter must be greater than 0. in /vhost/eviloctal/ftproot/wwwroot/myblog/convert.php on line 493
Warning: Cannot modify header information - headers already sent by (output started at /vhost/eviloctal/ftproot/wwwroot/myblog/convert.php:493) in /vhost/eviloctal/ftproot/wwwroot/myblog/convert.php on line 135
Warning: Cannot modify header information - headers already sent by (output started at /vhost/eviloctal/ftproot/wwwroot/myblog/convert.php:493) in /vhost/eviloctal/ftproot/wwwroot/myblog/convert.php on line 137
Warning: fread(): Length parameter must be greater than 0. in /vhost/eviloctal/ftproot/wwwroot/myblog/convert.php on line 493
Warning: fread(): Length parameter must be greater than 0. in /vhost/eviloctal/ftproot/wwwroot/myblog/convert.php on line 493
Warning: Cannot modify header information - headers already sent by (output started at /vhost/eviloctal/ftproot/wwwroot/myblog/convert.php:493) in /vhost/eviloctal/ftproot/wwwroot/myblog/convert.php on line 135
Warning: Cannot modify header information - headers already sent by (output started at /vhost/eviloctal/ftproot/wwwroot/myblog/convert.php:493) in /vhost/eviloctal/ftproot/wwwroot/myblog/convert.php on line 137
February 21, 2006 22:00
lindsay
Bob,还是有问题。按照第二种方法重新转换用户数据之后,发现自己不能登陆了。
只好重新对程序升级,完成之后出现新的问题:发现有两个ID为1的用户,分别属于“管理员”和“注册用户”用户组,管理员原有的回复均以“管理员”的名义发布,而不是原来的用户名。修改管理员资料之后,两个用户均属于“管理员”用户组,日志的撰写人也变为原来属于“注册用户”且ID为1的的那个用户名。实在不知道该怎么办了。
另外,我运行了“UPDATE [db]user SET userid=userid+28000 WHERE userid<>1”,想知道什么语句可以取消这条语句的功能。
只好重新对程序升级,完成之后出现新的问题:发现有两个ID为1的用户,分别属于“管理员”和“注册用户”用户组,管理员原有的回复均以“管理员”的名义发布,而不是原来的用户名。修改管理员资料之后,两个用户均属于“管理员”用户组,日志的撰写人也变为原来属于“注册用户”且ID为1的的那个用户名。实在不知道该怎么办了。
另外,我运行了“UPDATE [db]user SET userid=userid+28000 WHERE userid<>1”,想知道什么语句可以取消这条语句的功能。
February 20, 2006 08:51
lindsay
对不起Bob,总是太粗心,先看到论坛上的帖子,才看到这篇日志。
请忽略我前面在“一个用户习惯可能导致的问题”中的留言。如果还有问题,再来请教。
请忽略我前面在“一个用户习惯可能导致的问题”中的留言。如果还有问题,再来请教。
February 19, 2006 21:31
分页: 1/2
1 2
1 2



