By checking sales module’s config, there is sales_entity section as below
<models>
<sales>
<class>Mage_Sales_Model</class>
<resourceModel>sales_resource</resourceModel>
</sales>
<sales_entity>
<class>Mage_Sales_Model_Entity</class>
<entities>
<quote>
and those class Mage_Sales_Model_Entity_xxx extends Mage_Eav_Model_Entity_Abstract, showing that sales/order is EAV style but not flat one.
I can also find table “eav_entity_type” have a lot of records related with “order”.
But, I go through the code, sadly, EAV is not at last in place in current codebase (at least v1.7).
Can anyone help to clarify? Is EAV for sales/order deperecated?
In the latest versions of Magento (i.e. 1.6 and 1.7, can’t say for earlier) the sales entity attributes are no longer stored in the EAV attribute-value tables. The resource models of the Mage_Sales module connect the sales entities to flat tables.
You can also see that the base Sales model class
Mage_Sales_Model_AbstractextendsMage_Core_Model_Abstract, and the base Sales resource modelMage_Sales_Model_Resource_AbstractextendsMage_Core_Model_Resource_Db_Abstract– neither of those is an EAV model or an EAV resource model.The attribute-entity metadata that you find in the table
eav_entity_typeis similar to the EAV entities of the Catalog and Customer modules, yet the attribute value storage system is not EAV.I guess, the configuration you encountered is left for the backward compatibility.
I’ve put together a description of the Magento’s EAV system, you may find it interesting: http://www.divisionlab.com/solvingmagento/magento-eav-system/