On dirait que c'est le problème (ayant le même problème en ce moment), ces deux lignes :
INDEX `IDX_ALPHANUM_INFO_TEXT_ATTRIBUTE_ID_VALUE` (`attribute_id`, `value`),
INDEX `IDX_ALPHANUM_INFO_TEXT_ENTITY_TYPE_ID_VALUE` (`entity_type_id`, `value`),
Besoin d'avoir des valeurs numériques répertoriées comme telles :
INDEX `IDX_ALPHANUM_INFO_TEXT_ATTRIBUTE_ID_VALUE` (`attribute_id`, `value`(255)),
INDEX `IDX_ALPHANUM_INFO_TEXT_ENTITY_TYPE_ID_VALUE` (`entity_type_id`, `value`(255)),
Branchez-le et cela fonctionnera. L'astuce consiste à l'insérer correctement. Par souci de brièveté, je ne publierai pas toute la fonction, mais dans Mage_Eav_Model_Entity_Setup::createEntityTables
vers la ligne 1341, vous devez modifier ces lignes :
->addIndex($this->getIdxName($eavTableName, array('attribute_id', 'value')),
array('attribute_id', 'value'))
->addIndex($this->getIdxName($eavTableName, array('entity_type_id', 'value')),
array('entity_type_id', 'value'))
Comme suit :
->addIndex($this->getIdxName($eavTableName, array('attribute_id', 'value')),
array('attribute_id', $type == 'text' ? array('name' => 'value', 'size' => 255) : 'value'))
->addIndex($this->getIdxName($eavTableName, array('entity_type_id', 'value')),
array('entity_type_id', $type == 'text' ? array('name' => 'value', 'size' => 255) : 'value'))
Je ne sais pas trop à quoi vous devriez définir la valeur de taille, mais je pense que la définir sur 64k complet irait à l'encontre de l'objectif de l'indexation en premier lieu. J'espère que quelqu'un qui en sait un peu plus sur sql que moi interviendra.
J'espère que ça aide.