사용자 지정 데이터베이스 테이블을 만드는 사용자 지정 모듈을 만들었습니다. 나는 맞춤형 데이터베이스 테이블을 만들기 위해 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 /의 TEH 내용 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
질문을 편집했습니다. 좀 도와 주시면 알려주세요. – ivn
'core_resource' 테이블에서 엔트리를 삭제하고 설치 스크립트를 다시 실행하십시오. – clockworkgeek