【发布时间】:2012-01-05 17:42:38
【问题描述】:
我创建了一个自定义模块,用于创建自定义数据库表。为了创建自定义数据库表,我一直在关注 Alan Storm 的教程 http://alanstorm.com/magento_setup_resources 和 http://alanstorm.com/magento_models_orm。
我的模块条目显示在 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-install-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/文件夹的内容。 -
我已经编辑了这个问题。请看一下,如果有帮助,请告诉我。
-
删除
core_resource表中的条目以再次运行安装脚本。 -
如果我从 core_resource 表中删除条目并重新加载页面,我会收到错误消息。错误报告将此作为第一行“/home/atsdev/public_html/app/code///sql/simplemodel_setup not found”
标签: php zend-framework magento