2008.04.29 更新
已有F2blog to WordPress轉換程式,請見:F2Blog轉換Wordpress程式,以及F2blog的未來

歷經了三天不眠不休、夙夜匪懈、水深火熱,終於與好朋友Google大神一起完成了從F2blog轉移到Wordpress的艱鉅任務。

因為過程很複雜,幾乎是土法煉鋼慢慢轉,只能大略說一下過程:


  1. 在F2blog用RSS匯出後,以EmEditor開啟xml,執行巨集內容
  2. 匯入WP,發現迴響沒有匯入
  3. 用phpmyadmin,比對F2與WP的欄位、資料表名稱(只有兩個資料表要比對,f2blog_logs之於wp_posts,f2blog_comments之於wp_comments),交叉比對、修改,讓兩邊資料都相同–這邊是最久的部份,我有將卡最大的地方筆記下來(見附註)
  4. 修改完成把F2資料表匯入到WP的就完成了,我沒有注意到文章分類錯誤的問題,所以現在要把一千兩百多篇文章整理分類(囧),如果細心點可以避免

附註:

  • 轉換unixtime
    UPDATE `f2blog_comments` SET `postTime` = FROM_UNIXTIME( `postTime` ) WHERE `f2blog_comments`.`id` >=1 LIMIT 99999
    UPDATE `f2blog_logs` SET `postTime` = FROM_UNIXTIME( `postTime` ) WHERE `f2blog_logs`.`id` >=1 LIMIT 999999 ;
  • 複製文章發表時間至gmt欄位
    update `wp_posts` set `post_date_gmt`= `post_date`
  • 轉換unixtime之前先轉換欄位屬性
    ALTER TABLE `f2blog_comments` CHANGE `postTime` `postTime` VARCHAR( 100 ) NOT NULL DEFAULT '0'
  • 時間欄位轉換完成後必須改回datetime
    ALTER TABLE `f2blog_comments` CHANGE `postTime` `postTime` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'
  • comment 狀態
    UPDATE `wp_comments` SET `comment_approved` = '1' WHERE `wp_comments`.`comment_ID` >=1 LIMIT 9999 ;
Author

現為網路行銷工作者。曾建立韓國部落格程式 Tatter Tools 臺灣中文社群、擔任 Mozilla Taiwan Firefox 社群版主與 Wiki 責任編輯。熱愛學習語言藉以瞭解當地文化。

35 Comments

  1. 在F2blog用RSS匯出後,以EmEditor開啟xml,執行巨集內容

    這個巨集內容抓不到耶!
    可以寄給我嗎?
    謝謝您!

  2. vsy Reply

    jerome:
    原來是我放成擁有者才能下載的網址了@_@a,我已經改過來囉,應該可以下載了…也寄了一份到你的信箱

  3. 我也曾為使用f2blog或wordpress而煩惱了一會,不過最終也還是使用wordpress,畢竟自由度較大、資源較多吧。

  4. vsy Reply

    Leo :
    若是F2blog有持續在更新的話倒是個不錯的選擇,也不用到處找外掛之類的就能很好用,簡而言之是給怕麻煩的人用的XD
    不過我這種愛嘗鮮的人,用久了總覺得有些不滿足…

  5. 我想要問一下喔!

    由 F2 的 RSS 匯入,在他的 XML 裡面,最新的 blog 會在最前面,那會導致匯入 WP 時,他取到的編號是比較小的,跟在 F2 剛好相反,請問你是怎麼解決的?

    我是想到從資料庫直接重讀寫入啦!可是這樣很麻煩耶!

  6. vsy Reply

    jerome:
    呃,我的確是從SQL那邊再做一次,因為後續動作也是要匯入迴響,乾脆在SQL一起弄比較省事

  7. 原來換到 WP 了….才在奇怪怎麼 RSS feed 好像都沒更新了。

    呃,新的 RSS feed 在那啊?

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料