Я столкнулся с той же проблемой.В моей ситуации я понял, что при попытке создать таблицу базы данных произошла ошибка: BLOB/TEXT column 'value' used in key specification without a key length
Чтобы заставить Magento отображать операторы SQL, которые может принять моя база данных, мне пришлось изменить файл app/code/core/Mage/Eav/Model/Entity/Setup.php
впримерно строка 1337 (внутри метода createEntityTables
).Заменив следующие строки:
->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'))
этим:
->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'))
Я использовал этот тикет для решения вышеуказанной проблемы: столбец BLOB / TEXT 'значение', используемый в спецификации ключабез длины ключа
Если это не решит вашу проблему, я бы предложил зайти в файл lib/Varien/Db/Adapter/Pdo/Mysql.php
внутри метода createTable
и добавить следующий код непосредственно перед оператором return:
<code> echo "<pre>SQL:\n$sql\n\n
";
Таким образом, вы можете увидеть, с каким SQL у вашей базы данных возникают проблемы, и вы можете попробовать его в клиенте SQL (например, phpMyAdmin), который даст вам более информативныйобъяснение того, что происходит не так.