Magento 尝试重新索引目录产品平面时,我遇到未知错误

Magento 尝试重新索引目录产品平面时,我遇到未知错误,magento,Magento,我正在尝试重新索引catalog_product_flat,但出现以下错误: Product Flat Data index process unknown error: exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1118 Row size too large. The maximum row size for the used table type, not

我正在尝试重新索引catalog_product_flat,但出现以下错误:

Product Flat Data index process unknown error:
exception 'PDOException' with message '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' in /path/to/magento/lib/Zend/Db/Statement/Pdo.php:228
Stack trace:
#0 /path/to/magento/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array)
#1 /path/to/magento/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#2 /path/to/magento/lib/Zend/Db/Statement.php(320): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#3 /path/to/magento/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
#4 /path/to/magento/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('ALTER TABLE `ma...', Array)
#5 /path/to/magento/lib/Varien/Db/Adapter/Pdo/Mysql.php(419): Zend_Db_Adapter_Pdo_Abstract->query('ALTER TABLE `ma...', Array)
#6 /path/to/magento/lib/Varien/Db/Adapter/Pdo/Mysql.php(340): Varien_Db_Adapter_Pdo_Mysql->query('ALTER TABLE `ma...')
#7 /path/to/magento/lib/Varien/Db/Adapter/Pdo/Mysql.php(839): Varien_Db_Adapter_Pdo_Mysql->raw_query('ALTER TABLE `ma...')
#8 /path/to/magento/app/code/core/Mage/Catalog/Model/Resource/Product/Flat/Indexer.php(799): Varien_Db_Adapter_Pdo_Mysql->addColumn('mage_catalog_pr...', 'email_template', Array)
#9 /path/to/magento/app/code/core/Mage/Catalog/Model/Resource/Product/Flat/Indexer.php(1390): Mage_Catalog_Model_Resource_Product_Flat_Indexer->prepareFlatTable(1)
#10 /path/to/magento/app/code/core/Mage/Catalog/Model/Product/Flat/Indexer.php(296): Mage_Catalog_Model_Resource_Product_Flat_Indexer->reindexAll()
#11 /path/to/magento/app/code/core/Mage/Catalog/Model/Product/Indexer/Flat.php(336): Mage_Catalog_Model_Product_Flat_Indexer->reindexAll()
#12 /path/to/magento/app/code/core/Mage/Index/Model/Process.php(209): Mage_Catalog_Model_Product_Indexer_Flat->reindexAll()
#13 /path/to/magento/app/code/core/Mage/Index/Model/Process.php(255): Mage_Index_Model_Process->reindexAll()
#14 /path/to/magento/shell/indexer.php(158): Mage_Index_Model_Process->reindexEverything()
#15 /path/to/magento/shell/indexer.php(198): Mage_Shell_Compiler->run()
#16 {main}
根据从magento 1.3.4社区获取的数据,在magento enterprise 1.12上重新编制索引。
这是在从admin或shell indexer重新编制索引时发生的。

好的,我在方法_getFlatColumnsOldDefinition中的/path/中找到了必须更改为/magento/app/code/core/Mage/Eav/Model/Entity/Attribute/Abstract.php的解决方案。此代码:

case 'varchar':
    $columns[$this->getAttributeCode()] = array(
        'type' => 'varchar(255)'
对于这一点:

case 'varchar':
    $columns[$this->getAttributeCode()] = array(
        'type' => 'text'

好的,我在方法_getFlatColumnsOldDefinition中找到了我必须在/path/to/magento/app/code/core/Mage/Eav/Model/Entity/Attribute/Abstract.php中更改的解决方案此代码:

case 'varchar':
    $columns[$this->getAttributeCode()] = array(
        'type' => 'varchar(255)'
对于这一点:

case 'varchar':
    $columns[$this->getAttributeCode()] = array(
        'type' => 'text'

magento以编程方式重新编制索引

身份证号码

1目录\产品\属性

2目录产品价格

3目录url

4产品目录

5目录类公寓

6目录\类别\产品

7目录搜索库存

8存货目录

9 tag_摘要

完全重索引

对于$i=1$我加载$i

$process->reindexAll

} 个体重新指数

$process=Mage::getModel'index/process'->load4


$process->reindexAll

magento以编程方式重新编制索引

身份证号码

1目录\产品\属性

2目录产品价格

3目录url

4产品目录

5目录类公寓

6目录\类别\产品

7目录搜索库存

8存货目录

9 tag_摘要

完全重索引

对于$i=1$我加载$i

$process->reindexAll

} 个体重新指数

$process=Mage::getModel'index/process'->load4


$process->reindexAll

解决了属性计数的根本问题,而不诉诸于模式或代码修改。

解决了属性计数的根本问题,而不诉诸于模式或代码修改。

这是安全的更改吗?这是安全的更改吗?