Impossibile recuperare entità config: vendite / sales_flat_order
-
22-10-2019 - |
Domanda
Sto cercando di aggiungere colonna della tabella sales_flat_order
esistente, ma si tratta di restituire un errore
Can't retrieve entity config: sales/sales_flat_order
il mio codice è:
<?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();
posso sapere dove ho sbagliato?
Grazie.
Soluzione
sales_flat_order
è il nome completo della tabella e si dovrebbe utilizzare alias nel $installer->getTable()
Se si dà un'occhiata a app\code\core\Mage\Sales\etc\config.xml
v'è definizione della tabella
<sales_resource>
<class>Mage_Sales_Model_Resource</class>
<deprecatedNode>sales_mysql4</deprecatedNode>
<entities>
....
<order>
<table>sales_flat_order</table>
</order>
...
</entities>
</sales_resource>
Quindi $installer->getTable()
dovrebbe ottenere parametro module_alias/table_alias
.
Nel vostro caso
module_alias = sales
table_alias = order
$installer->getTable('sales/order')
Di conseguenza tornerà nome della tabella sales_flat_order
.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange