我正试图运行一个简单的安装脚本,在数据库中创建表,但表并没有创建,而是存在安装脚本。
这是我的config.xml
<modules>
<Rts_Pmadmin>
<version>0.1.0</version>
</Rts_Pmadmin>
</modules>
<global>
<models>
<Rts_Pmadmin>
<class>Rts_Pmadmin_Model</class>
<resourcemodel>pmadmin_resource</resourcemodel>
</Rts_Pmadmin>
<pmadmin_resource>
<class>Rts_Pmadmin_Model_Resource</class>
<entities>
<pricematrix>
<table>pricematrix</table>
</pricematrix>
</entities>
</pmadmin_resource>
</models>
<resources>
<pricematrix_setup>
<setup>
<module>Rts_Pmadmin</module>
<class>Rts_Pmadmin_Model_Resource_Setup</class>
</setup>
<connection>
<use>core_setup</use>
</connection>
</pricematrix_setup>
<pricematrix_write>
<connection>
<use>core_write</use>
</connection>
</pricematrix_write>
<pricematrix_read>
<connection>
<use>core_read</use>
</connection>
</pricematrix_read>
</resources>
<helpers>
<Rts_Pmadmin>
<class>Rts_Pmadmin_Helper</class>
</Rts_Pmadmin>
</helpers>
</global>
这是我的安装脚本mysql4-install-0.1.0.php
$installer = $this;
$installer->startSetup();
$installer->run("
CREATE TABLE `{$installer->getTable('pmadmin/pricematrix')}` (
`pricematrix_id` int(11) NOT NULL auto_increment,
`title` text,
`post` text,
`date` datetime default NULL,
`timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`pricematrix_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `{$installer->getTable('pmadmin/pricematrix')}` VALUES (1,'My New Title','This is a blog post','2009-07-01 00:00:00','2009-07-02 23:12:30');
");
$installer->endSetup();
这是我的型号
app/code/local/Rts/Pmmadmin/Model/Resource-
class Rts_Pmadmin_Model_Pricematrix extends Mage_Core_Model_Abstract
{
protected function _construct()
{
$this->_init('pmadmin/pricematrix');
}
}
app/code/local/Rts/Pmmadmin/Model/Resource-
class Rts_Pmadmin_Model_Resource_Pricematrix extends Mage_Core_Model_Mysql4_Abstract {
protected function _construct()
{
$this->_init('pmadmin/pricematrix', 'pricematrix_id');
}
}
app/code/local/Rts/Pmmadmin/Model/Resource-
class Rts_Pmadmin_Model_Resource_Setup extends Mage_Core_Model_Resource_Setup {
}
如何以正确的方式运行安装脚本?
感谢
经过几天的调试。最后我找到了解决办法。
在模型节点中,标签resourcemodel应为resourcemodel,资本M。
在sql目录中,子文件夹name应该与resources pricematrix_setup标记匹配,在我的情况下是pricematrx_setup。
最后,如果您有sql语法,请检查您的sql安装脚本语法。
我希望这能帮助其他人。
谢谢!