Come posso aggiungere una nuova colonna alla tabella principale di Magento esistente tramite lo script di installazione? (senza usare SQL puro)
Voglio usare il modo Magento che utilizza metodi alias per creare script di installazione.
Finora ho seguito alcuni tutorial. Ma sembra non funzionare correttamente. Questo StackOverflow ALTER TABLE nello script di installazione di Magento senza usare la risposta SQL era in qualche modo simile alla mia domanda. Ma qual è il contenuto dovrebbe essere messo nel confg.xml
file del modulo ? Devo solo definire il modello di risorsa, il modello e i dati di configurazione sarebbero sufficienti?
La parte rilevante del config.xml
(del mio modulo) è la seguente.
<config>
. . .
<global>
<models>
<mymodule>
<class>Mynamespace_Mymodule_Model</class>
<resourceModel>mymodule_resource</resourceModel>
</mymodule>
<mymodule_resource>
<class>Mynamespace_Mymodule_Model_Resource</class>
</mymodule_resource>
</models>
<resources>
<mymodule_setup>
<setup>
<module>Mynamespace_Mymodule</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</mymodule_setup>
<mymodule_read>
<connection>
<use>core_read</use>
</connection>
</mymodule_read>
<mymodule_write>
<connection>
<use>core_write</use>
</connection>
</mymodule_write>
</resources>
. . . .
</config>
E il mio script di installazione è il seguente.
$installer = $this;
$installer->startSetup();
$installer->getConnection()
->addColumn($installer->getTable('sales_flat_order'),'custom_value', Varien_Db_Ddl_Table::TYPE_VARCHAR, 255, array(
'nullable' => false,
), 'Title');
$installer->endSetup();
Ma sto ricevendo il seguente errore.
SQLSTATE [42S02]: Tabella di base o vista non trovata: 1146 La tabella '255.sales_flat_order' non esiste
Qualsiasi suggerimento per risolvere questo sarebbe apprezzato.
255
?