Como posso adicionar uma nova coluna à tabela principal do Magento via script de instalação? (sem usar SQL puro)
Eu quero usar a maneira Magento, que está usando métodos de alias para criar script de instalação.
Até agora eu segui alguns tutoriais. Mas parece não estar funcionando corretamente. Este StackOverflow ALTER TABLE no script de instalação do Magento sem usar a resposta SQL foi um pouco semelhante à minha pergunta. Mas qual é o conteúdo que deve ser colocado no confg.xml
arquivo do módulo ? Preciso apenas definir o modelo de recursos, o modelo e os dados de configuração seriam suficientes?
A parte relevante do config.xml
(do meu módulo) é a seguinte.
<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 meu script de instalação é o seguinte.
$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();
Mas estou recebendo o seguinte erro.
SQLSTATE [42S02]: Tabela base ou exibição não encontrada: 1146 A tabela '255.sales_flat_order' não existe
Qualquer sugestão para corrigir isso seria apreciada.
255
?