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本身程序以及第三方模塊,免得升級的時候還要改,上面記錄的是迫不得已的辦法。
非常實用的分享
非常實用的分享