转换Bo-blog到wordpress

jackxiang 2008-12-19 11:46 | |
前言:

在新年的第一天,Bo-blog发布2.1.0正式版的日子里,我把使用了快两年的Bo-blog转成了WordPress!
写这篇文章的时候,我的分类终于多了一个wordpress!

效果:

文章,评论,数据库中文章的ID完全转换.

思路:

Bo-blog2.X转F2blog1.2再转wordpress2.2.2升级wordpress2.3.2

转换过程:

(一)Bo-blog转F2blog

F2blog官方有转换程序,很简单的.
转换程序:http://forum.f2blog.com/thread-449-1-2.html

这里要注意的是,转换前要把Bo-blog的那个ID为0的文章给删除掉,同样,F2blog和wordpress里面自带的那篇也要删掉.这个与文章的ID有关,后面会讲到.

转换好,进入F2blog后台,导出RSS,然后用Editplus打开XML文件,要替换三个地方:
1,< !--[CDATA[替换为空
2,] ]-->替换为空
3,description替换为content:encoded

打开PhpMyAdmin,对照boblog_blogs表的ID,如果不一致,使用upset语句微调,相信差别不会太大的,我的就差了一个1,update后相应的表中的logId也要做对应调整.

(二)安装Wordpress2.2.2

下载地址:http://wordpress.org/wordpress-2.2.2.zip
全新安装后删默认的那篇日志和评论,从后台删不干净,要从数据库里面删.

然后就是导入刚刚修改过的XML文件.

导入完毕后,执行以下SQL语句:
1,wp_posts增加一列
ALTER TABLE `wp_posts` ADD COLUMN `f2blog_id` int( 12 ) NOT NULL

2,更新f2blog_id,插入f2blog_logs的id
UPDATE (wp_posts LEFT JOIN f2blog_logs ON wp_posts.post_title = f2blog_logs.logTitle)
SET wp_posts.f2blog_id = f2blog_logs.id
WHERE f2blog_logs.id <> 125

3,更新wp_post2cat的post_id,文章分类的ID
UPDATE (wp_posts LEFT JOIN wp_post2cat ON wp_posts.ID = wp_post2cat.post_id)
SET wp_post2cat.post_id = wp_posts.f2blog_id

4,更新wp_posts的ID
UPDATE wp_posts SET ID = ID + 10000

UPDATE wp_posts SET ID = f2blog_id WHERE post_type = 'post'

5,转换f2blog_comments的时间为varchar
ALTER TABLE `f2blog_comments` CHANGE `postTime` `postTime` VARCHAR( 100 ) NOT NULL DEFAULT '0'

6,转换f2blog_comments的时间为unix时间戳
UPDATE `f2blog_comments` SET `postTime` = FROM_UNIXTIME(`postTime`)
WHERE `f2blog_comments`.`id` >=1 LIMIT 99999

7,转换f2blog_comments的时间为datetime
ALTER TABLE `f2blog_comments` CHANGE `postTime` `postTime` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'

8,开始转换f2blog→wp
INSERT INTO wp_comments
(comment_post_ID,comment_author,comment_author_email,comment_author_url,comment_author_IP,
comment_date,comment_date_gmt,comment_content,comment_karma,comment_approved,comment_agent,
comment_type,comment_parent,user_id)
SELECT logId,author,email,homepage,ip,postTime,postTime,content,0,'1','','','0','0'
FROM f2blog_comments

9,更新Wordpress的评论数
UPDATE (wp_posts LEFT JOIN f2blog_logs ON wp_posts.ID = f2blog_logs.id)
SET wp_posts.comment_count = f2blog_logs.commNums

10,删除wp_posts的f2blog_id列
ALTER TABLE `wp_posts` DROP `f2blog_id`

(三)升级Wordpress到2.3.2

这里就不说了吧.

转换过程来自f2blog匯入wordpress之完全轉換,作者的blog上已经找不到这篇文章了,而且也被GFW了,还好在抓虾找到了.

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/1517/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]