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_Abstract
extends Mage_Core_Model_Abstract
, and the base Sales resource model Mage_Sales_Model_Resource_Abstract
extends Mage_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_type
is 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/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With