After migrating my Magento DB to 1.14, configurable products are not showning anymore in product category list.
On Indexing, the child products are indexed into catalog_product_index_price, but not the configurable product.
The reason why is that Magento Mage_Catalog_Model_Resource_Product_Indexer_Price_Configurable::_applyConfigurableOption() delete product where parent_id is NULL before moving it from catalog_product_index_price_final_tmp to the catalog_product_index_price table
Mage_Catalog_Model_Resource_Product_Indexer_Price_Configurable (line 234)
$select = $write->select() ->from($table) ->join( array('e' => $this->getTable('catalog/product')), 'e.entity_id = i.entity_id', array()) ->joinLeft( array('coa' => $coaTable), 'coa.parent_id = i.entity_id', array()) ->where('e.type_id = ?', $this->getTypeId()) ->where('coa.parent_id IS NULL'); $query = $select->deleteFromSelect('i'); $write->query($query);
If I comment out this code, configurable products would show up on the frontend after the price re-index.
Any body knows why this configurable products cleanup was added in price reindex ?