我已经创建了一个自定义模块来创建自定义数据库表。我一直在关注Alan Storm的教程http://alanstorm.com/magento_setup_resources和http://alanstorm.com/magento_models_orm以创建自定义数据库表。在Magento中找不到自定义数据库表
我的模块条目显示在core_resource表中,但实际没有显示出来。
这是我的config.xml代码
<?xml version="1.0"?>
<config>
<modules>
<Ajzele_SimpleModel>
<version>0.0.1</version>
</Ajzele_SimpleModel>
</modules>
<global>
<models>
<simplemodel>
<class>Ajzele_SimpleModel_Model</class>
<resourceModel>simplemodel_mysql4</resourceModel>
</simplemodel>
<simplemodel_mysql4>
<class>Ajzele_SimpleModel_Model_Mysql4</class>
<entities>
<simplemodel>
<table>simplemodel</table>
</simplemodel>
</entities>
</simplemodel_mysql4>
</models>
<resources>
<simplemodel_setup>
<setup>
<module>Ajzele_SimpleModel</module>
<class>Ajzele_SimpleModel_Model_Mysql4_Setup</class>
</setup>
<connection>
<use>core_setup</use>
</connection>
</simplemodel_setup>
<simplemodel_read>
<connection>
<use>core_read</use>
</connection>
</simplemodel_read>
<simplemodel_write>
<connection>
<use>core_write</use>
</connection>
</simplemodel_write>
</resources>
</global>
</config>
而且我的模型文件结构
Model
SimpleModel.php
Mysql4
SimpleModel.php
Setup.php
SimpleModel
Collection.php
这里是我的SQL/simplemodel_setup /考核的内容mysql4安装,0.0.1.php
<?php
$installer = $this;
$installer->startSetup();
$baseTableName = 'simplemodel';
$sql = "
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `simplemodel`
-- ----------------------------
DROP TABLE IF EXISTS {$this->getTable($baseTableName)};
CREATE TABLE {$this->getTable($baseTableName)} (
`simplemodel_id` int(11) NOT NULL AUTO_INCREMENT,
`field1` varchar(255) DEFAULT NULL,
`field2` varchar(255) DEFAULT NULL,
PRIMARY KEY (`simplemodel_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
";
$installer->run($sql);
$installer->endSetup();
我已经尝试了各种调试方法,但我没有得到任何异常,也没有发生错误。我应该怎么做才能让我的表格真正显示在数据库中?
这里没有足够的信息。我们至少需要你的'sql /'文件夹的内容。 – Nick 2012-01-05 17:46:25
我编辑了这个问题。请看看,让我知道如果有帮助。 – ivn 2012-01-05 18:02:35
删除'core_resource'表中的条目以使安装脚本再次运行。 – clockworkgeek 2012-01-05 18:19:09