Downgrade back to wordpress 1.5.2
迁移之后恰逢 Wordpress 发布 2.1,也没做个测试就升了上来,上来才知道那叫一个悔哟,功能没增加啥,文件数量起码增加了一倍,除了后台那个 Ajax Custom Field 我觉得有点用(实际上一般的 Blog 很少人用到这个功能),其他的自 2.0 开始不断增加的 Ajax 都没什么实用价值,徒增花哨而已。尤其受不了的是数据库结构发生了比较大的变化,把一直以来都打主力的 wp_linkscategories 合并进入了 wp_categeories,并废止了相应的几个函数,官方论坛上我们也可以看到用户是怨声载道。
如果一味的随着 WP 的升级步伐,会让我感到愈来愈受到程序本身的牵制,痛定思痛,不如降级到最好用的 1.5.2 版本,这应该说是最经典的一个版本,一是功能足够;二是开发团队当时还没有什么商业化气味,代码相对纯洁,不然今天不也会出现一部分核心人物离开另立炉灶开发 Habari;三是我对 1.5.2 也比较熟,自己改造了很多功能和设计。
因为我是从 2.0.5 升入 2.1 的,使用 2.1 只发布了一篇文章,用户留言也只增加了几个。所以直接从 2.0.5 的数据库入手降级,最后再把 2.1 增加的文章、留言插入进去。由于没有什么现成的降级程序,只能是手工对比数据库结构,再用正则表达式进入替换,好在我的 Blog 量不大,文章不到 200 篇,留言 1000 多。当然最好的办法是一个表一个表的搞,再一个表一个表的导入。如果你的链接不多,那么只搞 wp_categories、wp_post2cat、wp_posts、wp_comments(wp 1.5.2 一共是9个表,最后这2个表是重点) 四个表就行了,链接及分类可以全部弄完后手工再增加,剩下的表可以直接利用 1.5.2 的安装后新建的。linux 下有很好的命令行过滤(如 grep),很轻松就可以过滤一些条件。总之,要很细心的弄。替换的数量(有时会有 n 种条件一一去匹配)加起来要和总的数量相等一般就表示成功了。由于我还不太会使用 VIM(编辑器之神),不然整个工作可能还要更方便快捷些。
由于 1.5.2 没有另外的分支版本,所以今后除了自己动手指望它升级什么的是不可能的了,等 Habari 出来后再看看吧。因为我也没装 SVN 的 Habari,具体有啥细节、特点也不太清楚,只是知道将引入一个 Super Tag 倒是和我以前的想法不谋而合,据说在 Habari 中是没有 Category (分类)这个概念的,说白了 Tag 也是一种 Category,只不过使用上更灵活些,但 Category 的优点是有层次。就一般的数据库并不大(文章数没有上万)的 Blog 来说,这二者并没有多大区别,但如果你有上万文章,上百个分类时,Tag 的优势就出来,但通常的 Tag 有个缺点是平行的,没有父子层次,既然是 Super Tag,我想可以利用 Tag to Tag 也能解决 Tag 的层次问题。