我试图运行一个在数据库中创建表的简单安装脚本,但是没有创建表但是安装脚本存在。
这是我的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();
这是我的模特
应用程序/代码/本地/ RTS / Pmadmin /型号/资源
class Rts_Pmadmin_Model_Pricematrix extends Mage_Core_Model_Abstract
{
protected function _construct()
{
$this->_init('pmadmin/pricematrix');
}
}
应用程序/代码/本地/ RTS / Pmadmin /型号/资源
class Rts_Pmadmin_Model_Resource_Pricematrix extends Mage_Core_Model_Mysql4_Abstract {
protected function _construct()
{
$this->_init('pmadmin/pricematrix', 'pricematrix_id');
}
}
应用程序/代码/本地/ RTS / Pmadmin /型号/资源
class Rts_Pmadmin_Model_Resource_Setup extends Mage_Core_Model_Resource_Setup {
}
如何以正确的方式运行安装脚本?
由于
答案 0 :(得分:0)
经过几天的调试。最后我找到了解决方案。
在模型节点中,标签 resourcemodel 应为 resourceModel ,其中大写 M 。
在sql目录中,子文件夹名称应与资源pricematrix_setup标记匹配,在我的情况下 pricematrix_setup 。
最后,如果您有SQL语法,请检查您的sql安装脚本语法。
我希望这有助于其他人。
谢谢!