2012-12-03 5 views
0

Я добавил к категории объекта много пользовательских атрибутов, теперь, когда я пытаюсь переиндексации я получаю ошибкуMagento Категория Плоские таблицы

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 

Я знаю, что означает, что плоские столы слишком велики, и на самом деле там много колонок. Мне не нужны мои пользовательские атрибуты в этой таблице, поэтому я могу их удалить, но как я могу это сделать? Я обнаружил, что если я установил фильтруемость и сопоставим с ложью, они не должны находиться в плоской таблице. Любая помощь будет оценена

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 
       ), 

Edit:

Я удалил атрибуты, и она работает, то я снова запустил скрипт установки, все они имеют фильтруемый и сопоставимый набор к ложному в качестве примера я отправил ниже, Он снова показывает мне ошибку, Что мне не хватает?

Edit:

Я проверил плоскую таблицу категорий, и я вижу, что все атрибуты добавляются их. Итак, фильтруемая и сопоставимая просто работает для атрибутов продукта? Я думал, что они будут одинаковыми значениями для продуктов категории.

В любом случае, чтобы исключить мои атрибуты из этой таблицы? Я могу исключить их изменение файла, создающего таблицу, очевидно, в моей локальной папке, но я хочу знать, что это чистый способ сделать это?

+0

Я думаю, вы могли бы просто установить * filterable * и * сопоставимый * в FALSE для атрибутов, которые вам не нужны, и переиндексировать таблицы. – Diego

+0

В коде, который я разместил ниже, я установил эти значения в False, я переиндексировал, но у меня все еще есть эта проблема – Zertalx

ответ

0

Проверьте таблицу и столбец eav_attribute с именем used_in_product_listing, установив ее в 0 или false и ее не следует добавлять в плоскую таблицу продукта категории.

Смежные вопросы