Pebble迁移至WP数据库后文章读不出

November 25, 2012 · One minute read

在基本实现了Pebble的BlogEntryDAO之后,已经能够从WP的数据库中读取相应的Post,但实际上线测试后却发现WP的文章读不出来。

一开始以为是索引的问题,因为Pebble为了快速访问文件系统上的内容,自己实现了一套基于事件动态更新的索引机制。在删除了索引后,Pebble竟然重新重置了所有的文章内容,返回到最初的欢迎文章。仔细阅读代码后才理解,Pebble内部约束了文章的状态,当索引不存在的时候,默认创建一篇帮助文章,然后以此为初始状态,用事件来更新索引。也就是说Pebble并不会对系统外的内容变化作出反应,换句话说, Pebble只索引在Pebble内部创建的文章,这和我所熟悉的内容管理机制是不符合的。

由于目前的WP数据库支持只是单向的,所以并不打算通过Pebble向WP数据库写入或者更新数据。只能通过改变文章索引机制,将初始状态设定为从现有DAO中读取数据来解决这个问题。

补充:又一轮debug过后,发现原来是页面索引干扰了文章索引的重建,是个隐藏的问题。考虑到原来Pebble的设定应该不会遇到类似的问题,我就不报问题给原作者了吧。