使用安装程序问题在 magento 中创建新表
题
我已经创建了一个模块,但现在我需要在数据库中创建一个表。这是 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();
这是 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>
正如你所看到的,我在 $installer 之后添加了退出。它永远不会去那里。我的 xml 文件有问题。你能帮我吗?谢谢
解决方案
如果有记录 core_resource
与柱 core
= 'mynamespace_mymodule_setup' 安装程序脚本将不会再次运行。删除该记录并清除缓存