Criando uma nova tabela no magento usando o problema do instalador
Pergunta
Criei um módulo, mas agora preciso criar uma tabela no banco de dados.este é o conteúdo do 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 é o conteúdo do arquivo 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 você pode ver, coloquei uma saída após $ installer.Nunca vai lá.Algo está errado com meu arquivo xml.Você pode me ajudar com isto ?THX
Solução
se houver um registro em core_resource
com a coluna core
= 'mynamespace_mymodule_setup' os scripts do instalador não serão executados novamente.Exclua esse registro e limpe o cache
Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange