You are here

Rules升级到最新版本rules-7.x-2.6时的问题

在将旧版本的Rules模块删除掉,替换为最新的rules-7.x-2.6后,访问首页,得到以下错误信息:
Fatal error: Class 'RulesEventHandlerEntityBundle' not found in D:\xampp\htdocs\dobum\sites\all\modules\rules\modules\node.rules.inc on line 147
访问其它页面,也是一样的,都是这个错误信息。想不到这么著名的Rules模块在升级的时候,也会遇到这样的问题。

Google了一下,发现了类似问题:https://drupal.org/node/2090511,有人遇到同样的问题了。
解决办法,就是运行update.php,运行过程中,又碰到了这样的问题:

DOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'bookstore.cache_panels' doesn't exist: TRUNCATE {cache_panels} ; Array ( ) 在 cache_clear_all() (行 165 在 D:\xampp\htdocs\bookstore\includes\cache.inc).

刷新页面还是这个问题,跳过,直接访问首页,一切正常。清除缓存,报上面的错误,干脆创建一个cache_panels表:

CREATE TABLE `bookstore`.`cache_panels` (
`cid` varchar( 255 ) NOT NULL DEFAULT '' COMMENT 'Primary Key: Unique cache ID.',
`data` longblob COMMENT 'A collection of data to cache.',
`expire` int( 11 ) NOT NULL DEFAULT '0' COMMENT 'A Unix timestamp indicating when the cache entry should expire, or 0 for never.',
`created` int( 11 ) NOT NULL DEFAULT '0' COMMENT 'A Unix timestamp indicating when the cache entry was created.',
`serialized` smallint( 6 ) NOT NULL DEFAULT '0' COMMENT 'A flag to indicate whether content is serialized (1) or not (0).',
PRIMARY KEY ( `cid` ) ,
KEY `expire` ( `expire` )
) ENGINE = InnoDB DEFAULT CHARSET = utf8 COMMENT = 'Cache table for the Block module to store already built...';

这样清除缓存,就可以了。

论坛:

Drupal版本: