Question

Je suis en train d'ajouter sales_flat_order de table existante colonne mais il est de renvoyer une erreur

Can't retrieve entity config: sales/sales_flat_order

mon code est:

<?php
 //@var $installer Mage_Sales_Model_Entity_Setup
$installer = $this;
$installer->startSetup();
$installer->run("
ALTER TABLE `{$installer->getTable('sales/sales_flat_order')}` ADD `giftwrap` SMALLINT NULL;
ALTER TABLE `{$installer->getTable('sales/sales_flat_order')}` ADD `giftwrap_price` DECIMAIL(12,5) NULL;
");
$installer->endSetup();

puis-je savoir où je suis allé mal?

merci.

Était-ce utile?

La solution

sales_flat_order est le nom complet de la table et vous devez utiliser alias dans $installer->getTable()

Si vous jetez un coup d'oeil dans app\code\core\Mage\Sales\etc\config.xml il y a définition de la table

<sales_resource>
    <class>Mage_Sales_Model_Resource</class>
    <deprecatedNode>sales_mysql4</deprecatedNode>
    <entities>
       ....
       <order>
           <table>sales_flat_order</table>
       </order>
       ...
    </entities>
</sales_resource>

$installer->getTable() devrait obtenir le paramètre module_alias/table_alias.

Dans votre cas

module_alias = sales

table_alias = order

$installer->getTable('sales/order')

Par conséquent, il retournera sales_flat_order nom de la table.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top