我正在尝试在自定义扩展中创建新表。表未创建或给出任何错误。 这是我的“mysql4-install-0.1.php”文件,位于 local/Pfay/Test/sql/Test_setup/mysql4-install-0.1.0.php 中。
$installer = $this;
$installer->startSetup();
$installer->run("
DROP TABLE IF EXISTS {$this->getTable('Test')};
CREATE TABLE {$this->getTable('Test')} (
`pfay_test_id` int(11) unsigned NOT NULL auto_increment,
`full_name` varchar(255) NULL ,
`email` varchar(255) NULL ,
`question` text NULL ,
`product_id` int(11) NULL default '',
PRIMARY KEY (`question_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
");
$installer->endSetup();
这是我在 local/Pfay/Test/etc/Config.xml 中的“Config.xml”文件
<?xml version="1.0"?>
<config>
<modules>
<Pfay_Test>
<version>0.1.0</version>
</Pfay_Test>
</modules>
<frontend>
<routers>
<routeurfrontend>
<use>standard</use>
<args>
<module>Pfay_Test</module>
<frontName>test</frontName>
</args>
</routeurfrontend>
</routers>
<layout>
<updates>
<test>
<file>test.xml</file>
</test>
</updates>
</layout>
</frontend>
<admin>
<routers>
<test>
<use>admin</use>
<args>
<module>Pfay_Test</module>
<frontName>admintest</frontName>
</args>
</test>
</routers>
</admin>
<adminhtml>
<layout>
<updates>
<test>
<file>test.xml</file>
</test>
</updates>
</layout>
<menu>
<test translate="title" module="adminhtml">
<title>Question Answer</title>
<sort_order>100</sort_order>
<children>
<set_time>
<title>Question</title>
<action>admintest/adminhtml_index</action>
</set_time>
</children>
</test>
</menu>
</adminhtml>
<global>
<models>
<test>
<class>Pfay_Test_Model</class>
<resourceModel>test_mysql4</resourceModel>
</test>
<test_mysql4>
<class>Pfay_Test_Model_Mysql4</class>
<entities>
<test>
<table>qs_question</table>
</test>
</entities>
</test_mysql4>
</models>
<resources>
<Test_setup>
<setup>
<module>Pfay_Test</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</Test_setup>
<Test_write>
<connection>
<use>core_write</use>
</connection>
</Test_write>
<Test_read>
<connection>
<use>core_read</use>
</connection>
</Test_read>
</resources>
<blocks>
<test>
<class>Pfay_Test_Block</class>
</test>
</blocks>
</global>
</config>
我花了 5 个小时试图找到解决方案,但没有成功。它正在数据库的“core_resource”表中插入“test_setup”,但不创建表。请建议一个方法。 提前致谢。
最佳答案
我认为文件名“mysql4-install-0.1.php”有错误。它应该是“mysql4-install-0.1.0.php”。
关于php - 如何在magento扩展中创建Mysql表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27740750/