我在类别实体中添加了很多自定义属性,现在当我尝试重新索引时出现错误
SQLSTATE[42000]: Syntax error or access violation: 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
我知道这意味着平面表太大,而且确实有很多列。我不需要该表中的自定义属性,因此我可以删除它们,但我该怎么做呢?我发现如果我将 filterable 和可比性设置为 false 他们不应该在平面表中。任何帮助将不胜感激
public function getDefaultEntities()
{
return array(
'catalog_category' => array(
'entity_model' => 'catalog/category',
'attribute_model' => 'catalog/resource_eav_attribute',
'additional_attribute_table' => 'catalog/eav_attribute',
'entity_attribute_collection' => 'catalog/category_attribute_collection',
'table' => 'catalog/category',
'attributes' => array(
'cat_type' => array(
'group' => 'General',
'label' => 'Category Type',
'type' => 'int',
'input' => 'select',
'default' => '0',
'class' => '',
'backend' => '',
'frontend' => '',
'source' => 'eav/entity_attribute_source_cattype',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
'visible' => true,
'required' => false,
'user_defined' => false,
'searchable' => false,
'filterable' => false,
'comparable' => false,
'visible_on_front' => false,
'visible_in_advanced_search' => false,
'unique' => false
),
编辑:
我已经删除了属性并且它可以工作,然后我再次运行安装脚本,所有这些都将可过滤和可比较设置为 false,就像我在下面发布的示例一样,它再次向我显示错误,我错过了什么?
编辑:
我检查了平面类别表,我看到所有属性都添加了它们。那么可过滤和可比较仅适用于产品属性?我认为它们对于类别产品将是相同的值。
无论如何要从该表中排除我的属性吗?我可以排除他们修改创建表的文件,显然是在我的本地文件夹中,但我想知道哪种方法是干净的?