Jak mogę dodać nową kolumnę do istniejącej tabeli podstawowej Magento za pomocą skryptu instalacyjnego? (bez użycia czystego SQL)
Chcę użyć metody Magento, która używa metod aliasowych do tworzenia skryptu instalacyjnego.
Do tej pory wykonałem kilka samouczków. Ale wydaje się, że nie działa poprawnie. Ten StackOverflow ALTER TABLE w skrypcie instalacyjnym Magento bez użycia odpowiedzi SQL był nieco podobny do mojego pytania. Ale jaką treść należy umieścić w confg.xml
pliku modułu ? Czy wystarczy zdefiniować model zasobów, model i dane konfiguracji, które wystarczyłyby?
Odpowiednia część config.xml
(mojego modułu) jest następująca.
<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>
Mój skrypt instalacyjny wygląda następująco.
$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();
Ale pojawia się następujący błąd.
SQLSTATE [42S02]: Nie znaleziono tabeli podstawowej lub widoku: 1146 Tabela „255.sales_flat_order” nie istnieje
Wszelkie sugestie dotyczące rozwiązania tego problemu będą mile widziane.
255
?