Drupal 7中我们采用了自建table的方式来避免node过于复杂、性能低的问题,需要安装Data、Schema等模块,不过我们发现新增有些字段类型会遇到报错,例如:mysql中添加timestamp字段,会看到这样的报错:
User warning: table_name.pub_date: no type for schema type timestamp:normal. in schema_engine_type() (line 368 of /drupal_path/sites/all/modules/schema/schema.module).
我们在/admin/structure/schema/settings 中设置了
Suppress schema warnings. When checked, missing schema type warnings will be suppressed.
但还是不能完全解决,去年12月份找了个办法,直接修改schema模块中的schema.module文件:
else { if (!variable_get('schema_suppress_type_warnings', FALSE)) {//jamesqi 2018-12-3 trigger_error(t('@table.@field: no @engine type for schema type @type.', array('@engine' => $engine, '@type' => $type, '@table' => $table, '@field' => $field)), E_USER_WARNING); }//jamesqi 2018-12-3 return $col['type']; }
算是可以避免报错,虽然这样直接修改模块文件不是很规范,但可以先快速解决这个问题。
评论5
很可以了!
很可以了!感谢分享。
感谢分享。有的时候改源文件才是解决问题的唯一办法。
有的时候改源文件才是解决问题的唯一办法。嗯,不过Drupal不推荐修改核心文件
嗯,不过Drupal不推荐修改核心文件,我也是尽量少动Drupal本身程序以及第三方模块,免得升级的时候还要改,上面记录的是迫不得已的办法。
非常实用的分享
非常实用的分享