Magento安装脚本或安装脚本不起作用

时间:2015-11-10 06:05:50

标签: php magento-1.9 zend-db

我试图运行一个在数据库中创建表的简单安装脚本,但是没有创建表但是安装脚本存在。

这是我的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 {
}

如何以正确的方式运行安装脚本?

由于

1 个答案:

答案 0 :(得分:0)

经过几天的调试。最后我找到了解决方案。

在模型节点中,标签 resourcemodel 应为 resourceModel ,其中大写 M

在sql目录中,子文件夹名称应与资源pricematrix_setup标记匹配,在我的情况下 pricematrix_setup

最后,如果您有SQL语法,请检查您的sql安装脚本语法。

我希望这有助于其他人。

谢谢!