Magento中未显示自定义数据库表
我创建了一个自定义模块,其中包含自定义数据库表来存储/提取值。我遵循了下面的目录结构,但仍然没有在数据库中显示我的表。任何想法,为什么Magento中未显示自定义数据库表
app/code/local
Namespace
Module
Block
controllers
IndexController.php
etc
config.xml
Helper
Data.php
Model
Module.php
Observer.php
Mysql4
Module.php
Module
Collection.php
sql
module_setup
mysql4-install-0.1.0.php
app/etc
Namespace_Module.xml
这是我的config.xml
<config>
<modules>
<Namespace_Module>
<version>0.1.0</version>
</Namespace_Module>
</modules>
<global>
<helpers>
<module>
<class>Namespace_Module_Helper</class>
</module>
</helpers>
<models>
<module>
<class>Namespace_Module_Model</class>
<resourceModel>module_mysql4</resourceModel>
</module>
<module_mysql4>
<class>Namespace_Module_Model_Mysql4</class>
<entities>
<module>
<table>module</table>
</module>
</entities>
</module_mysql4>
</models>
<resources>
<module_setup>
<setup>
<module>Namespace_Module</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</module_setup>
<module_write>
<connection>
<use>core_write</use>
</connection>
</module_write>
<module_read>
<connection>
<use>core_read</use>
</connection>
</module_read>
</resources>
<blocks>
<module>
<class>Namespace_Module_Block</class>
</module>
</blocks>
</global>
<crontab>
<jobs>
<send_reviews_email>
<schedule><cron_expr>*/5 * * * *</cron_expr></schedule>
<run><model>module/observer::sendReviewsEmail</model></run>
</send_reviews_email>
</jobs>
</crontab>
<frontend>
<routers>
<module>
<use>standard</use>
<args>
<module>Namespace_Module</module>
<frontName>module</frontName>
</args>
</module>
</routers>
</frontend>
</config>
这是我mysql4安装-0.1.0.php
<?php
$installer = $this;
$installer->startSetup();
$installer->run("
-- DROP TABLE IF EXISTS {$this->getTable('cronemails')};
CREATE TABLE {$this->getTable('cronemails')} (
`cronemails_id` int(11) unsigned NOT NULL auto_increment,
`order_id` varchar(255) default '',
`order_email_id` varchar(255) default '',
`review_request` smallint(6) NOT NULL default '0',
`coupon_sent` smallint(6) NOT NULL default '0',
PRIMARY KEY (`cronemails_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
");
$installer->endSetup();
尝试改变版本号0.1.1和你的文件重命名为'mysql4升级,0.1.0 -0.1.1.php。
虽然你有1.6.1.0我不知道这是否会工作:如果它不工作,请尝试1.6.1.0-1.6.1.1
Sry基因已经离开了谈话中途,由于失去了互联网连接。我想问你,如果sql/module_Setup文件夹将只包含一个文件即。 mysql4-upgrade-0.1.0-0.1.1.php或.02.php? – ivn 2011-12-21 09:34:50
嗨,只是想让你知道,你的解决方案工作! :)我将config.xml更改为0.0.2,并将该文件重命名为mysql4-upgrade-0.0.1-0.02.php。有效。我现在可以在core_resource表中看到我的模块。那么这是否意味着我现在可以使用Magento方法保存并获取数据到这个表格。 再次感谢@Dick Laurent。你们帮助很大!真的很感激它。 – ivn 2011-12-21 10:05:24
由于我实际上看不到一个表,但只是我的模块在core_resource表中的条目,我可以不使用这些方法来设置和从我的自定义表中获取数据吗? – ivn 2011-12-21 14:29:54
检查您的模块已经在core_resource表中。如果是,则从该处删除并重试。
检查你的模块版本config.xml中等于或大于然后0.1.0
您是否配置了config.xml中的设置? – OSdave 2011-12-20 13:54:14
是的,我有。但它没有显示在core_resources表中。 – ivn 2011-12-20 14:14:03
你是否在意粘贴在这里,以便我们检查是否没有错误 – OSdave 2011-12-20 14:58:13