[转]f2blog 汇入 wordpress 之完全转换
作者: 实验小白鼠 日期: 2008-03-23 09:55
原文链接:http://armake.com/plog/post/1/772
似乎在墙外,用代理去访问吧!
才刚刚发表完一篇如何将f2blog的回响资料利用资料库的指令去转入wordpress的资料表中 ,怎麽会又来一篇呢?
其实是因为朋友在我转完後,发现了个问题,就是如果你的网站的参观量大、引用量多、或是文章连结常常出现在别人家的网志里(当然不是在说我....),因为 f2blog汇入至wordpress的时候,整个编号都重新改过变成新的了,所以上面这些像是引用或是别人曾经发表过关於你的连结,也都会失效.... 也就是找不到文章。
那这问题要如何解决呢?其实最快的方法,也最直接的方法,就是直接把wordpress的文章编号变成当初在f2blog里面的编号,不就得了!这样在抛转回响的时候,也不用做两道手续去更新资料抓取对应了....
所以我就整个重新抛转了一次 @@
先讲一下抛转前的环境,在做下面动作前,是必须先透过RSS汇入f2blog的文章至wordpress的资料表中,接下来就直接做下面的动作了
1.新增栏位於wp_posts
f2blog_id int(12)
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,这是文章对应类别的资料表,先把这里的编号整合更新
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
为避免编号重复,先将wp_posts的编号加个10000,如果你的文章超过一万笔,那数字就自己多加几个0吧
UPDATE wp_posts SET ID = ID + 10000
编号改完之後再来更新wp_posts的ID
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时间栏位的unixtime
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.更新wp的wp_post回响数
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(12)这个栏位
ALTER TABLE `wp_posts` DROP `f2blog_id`
11.更新自动增加的wp_posts的数值(因为步骤4将此测定值变更了,所以要转回来)
SELECT max(ID) FROM wp_posts
上面的指令执行完後,会出现一组数字,将数字填入下面最後的数字栏位中再执行
ALTER TABLE wp_posts AUTO_INCREMENT =184
这次多了三个步骤,因为除了文章的编号要更新,文章对应类别的资料表(wp_post2cat)内的文章编号也要更新,既然f2blog与 wordpress两边的编号都已经整合同步,再汇入回响资料的时候直接带f2blog的文章编号就可以了,所以跑完上面这几个步骤就整个完成了!
用这种方式的好处呢,就是除了资料非常的完整之外,再也不用担心别人家曾经连结过的资料会找不到网页了,不过这好像还要做另外一道手续,这部份另外等专家 来发表噜!我的部分到这边就完工啦!哇哈哈~~~
似乎在墙外,用代理去访问吧!
才刚刚发表完一篇如何将f2blog的回响资料利用资料库的指令去转入wordpress的资料表中 ,怎麽会又来一篇呢?
其实是因为朋友在我转完後,发现了个问题,就是如果你的网站的参观量大、引用量多、或是文章连结常常出现在别人家的网志里(当然不是在说我....),因为 f2blog汇入至wordpress的时候,整个编号都重新改过变成新的了,所以上面这些像是引用或是别人曾经发表过关於你的连结,也都会失效.... 也就是找不到文章。
那这问题要如何解决呢?其实最快的方法,也最直接的方法,就是直接把wordpress的文章编号变成当初在f2blog里面的编号,不就得了!这样在抛转回响的时候,也不用做两道手续去更新资料抓取对应了....
所以我就整个重新抛转了一次 @@
先讲一下抛转前的环境,在做下面动作前,是必须先透过RSS汇入f2blog的文章至wordpress的资料表中,接下来就直接做下面的动作了
1.新增栏位於wp_posts
f2blog_id int(12)
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,这是文章对应类别的资料表,先把这里的编号整合更新
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
为避免编号重复,先将wp_posts的编号加个10000,如果你的文章超过一万笔,那数字就自己多加几个0吧
UPDATE wp_posts SET ID = ID + 10000
编号改完之後再来更新wp_posts的ID
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时间栏位的unixtime
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.更新wp的wp_post回响数
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(12)这个栏位
ALTER TABLE `wp_posts` DROP `f2blog_id`
11.更新自动增加的wp_posts的数值(因为步骤4将此测定值变更了,所以要转回来)
SELECT max(ID) FROM wp_posts
上面的指令执行完後,会出现一组数字,将数字填入下面最後的数字栏位中再执行
ALTER TABLE wp_posts AUTO_INCREMENT =184
这次多了三个步骤,因为除了文章的编号要更新,文章对应类别的资料表(wp_post2cat)内的文章编号也要更新,既然f2blog与 wordpress两边的编号都已经整合同步,再汇入回响资料的时候直接带f2blog的文章编号就可以了,所以跑完上面这几个步骤就整个完成了!
用这种方式的好处呢,就是除了资料非常的完整之外,再也不用担心别人家曾经连结过的资料会找不到网页了,不过这好像还要做另外一道手续,这部份另外等专家 来发表噜!我的部分到这边就完工啦!哇哈哈~~~
评论: 0 |
引用: 0 |
阅读: 471
加入网摘
显示Tag关联文章
BoWP系列:修正昨天的一个标签Tags失误 (2009-01-05 14:05)
BoWP系列:修正含有特殊字符的日志转换失败的问题 (2009-01-04 14:51)
BoWP系列:修正别名Slug转换问题 (2008-12-15 16:52)
BoWP系列:今天更新了一下 (2008-12-13 21:41)
For 原木:为F2blog.Cont增加“登录后才能评论、留言”的功能 (2008-12-11 22:30)
For Rabbit:删除F2日志“评论|引用|阅读”的代码 (2008-12-10 23:11)
F2blog:TinyMCE 2.x to 3.x 升级记录 (2008-12-07 14:02)
编辑区右键菜单 for F2blog TinyMCE编辑器 (2008-12-06 00:11)
F2blog 外挂编辑器 TinyMCE 2.1.3 (2008-12-05 16:56)
TinyMce与Firefox没怎么,是F2怎么了…… (2008-12-04 23:34)
BoWP系列:修正含有特殊字符的日志转换失败的问题 (2009-01-04 14:51)
BoWP系列:修正别名Slug转换问题 (2008-12-15 16:52)
BoWP系列:今天更新了一下 (2008-12-13 21:41)
For 原木:为F2blog.Cont增加“登录后才能评论、留言”的功能 (2008-12-11 22:30)
For Rabbit:删除F2日志“评论|引用|阅读”的代码 (2008-12-10 23:11)
F2blog:TinyMCE 2.x to 3.x 升级记录 (2008-12-07 14:02)
编辑区右键菜单 for F2blog TinyMCE编辑器 (2008-12-06 00:11)
F2blog 外挂编辑器 TinyMCE 2.1.3 (2008-12-05 16:56)
TinyMce与Firefox没怎么,是F2怎么了…… (2008-12-04 23:34)
发表评论
订阅
上一篇
返回
下一篇
