我已經創建了一個自定義模塊來創建自定義數據庫表。我一直在關注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