¿Cómo puedo agregar una nueva columna a la tabla principal de Magento existente mediante el script de instalación? (sin usar SQL puro)
Quiero usar la forma Magento, que utiliza métodos de alias para crear el script de instalación.
Hasta ahora seguí algunos tutoriales. Pero parece que no funciona correctamente. Esta TABLA DE ALTERACIÓN de StackOverflow en el script de configuración de Magento sin usar la respuesta de SQL fue algo similar a mi pregunta. Pero, ¿cuál es el contenido que se debe poner en el confg.xml
archivo del módulo ? ¿Debo definir simplemente el modelo de recursos, el modelo y los datos de configuración serían suficientes?
La parte relevante de config.xml
(de mi módulo) es la siguiente.
<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>
Y mi script de instalación es el siguiente.
$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();
Pero obtengo el siguiente error.
SQLSTATE [42S02]: tabla base o vista no encontrada: 1146 La tabla '255.sales_flat_order' no existe
Cualquier sugerencia para solucionar esto sería apreciada.
255
?