Pregunta

He creado un módulo, pero ahora necesito crear una tabla en DB. Este es el contenido de MyNamesPace / MyModule / SQL / MYNAMESPACE_MYMODULE_SETUP / MYSQL4-INSTALL-0.1.0.PHP:

<?php
/* @var $installer Mage_Core_Model_Resource_Setup */
$installer = $this;
echo 1; exit();
$installer->startSetup();
$table = $installer->getConnection()
    ->newTable($installer->getTable('mynamespace_mymodule/mytablename'))
    ->addColumn('id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
        'identity'  => true,
        'unsigned'  => true,
        'nullable'  => false,
        'primary'   => true,
        ), 'Id')
    ->addColumn('check', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
        'nullable'  => false,
        ), 'Check')
$installer->getConnection()->createTable($table);

$installer->endSetup();

Este es el contenido del archivo CONFIG.XML:

<config>
    <modules>
        <Mynamespace_Mymodule>
            <version>0.1.0</version>
        </Mynamespace_Mymodule>
    </modules>
    <global>
    <models>
            <mynamespace_mymodule>
                <class>Mynamespace_Mymodule_Model</class>
                <resourceModel>mynamespace_mymodule_mysql4</resourceModel>
            </mynamespace_mymodule>
            <mynamespace_mymodule_mysql4>
                <class>Mynamespace_Mymodule_Model_Mysql4</class>
                <entities>
                    <mytablename>
                        <table>mynamespace_mymodule_mytablename</table>
                    </mytablename>
                </entities>
            </mynamespace_mymodule_mysql4>
        </models>
        <resources>
            <mynamespace_mymodule_setup>
                <setup>
                    <module>Mynamespace_Mymodule</module>
                </setup>
                <connection>
                    <use>core_setup</use>
                </connection>
            </mynamespace_mymodule_setup>
            <mynamespace_mymodule_write>
                <connection>
                    <use>core_write</use>
                </connection>
            </mynamespace_mymodule_write>
            <mynamespace_mymodule_read>
                <connection>
                    <use>core_read</use>
                </connection>
            </mynamespace_mymodule_read> 
        </resources>
    </global>

Como ves, pongo una salida después de $ Installer.Nunca va allí.Algo está mal con mi archivo XML.Me puede ayudar con esto ?thx

¿Fue útil?

Solución

Si hay un registro en core_resource con la columna core= 'mynamespace_mymodule_setup', los scripts del instalador no se ejecutarán nuevamente.Eliminar ese registro y borrar el caché

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top