[转]f2blog 汇入 wordpress 之完全转换

原文链接: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
评论: 0 | 引用: 0 | 阅读: 471
 加入网摘
发表评论
昵 称(*): 密 码:
网 址: 邮 箱:
选 项:    
内 容(*):