インストーラの問題を使用してMagentoに新しいテーブルを作成する
質問
モジュールを作成しましたが、今度はDBでテーブルを作成する必要があります。 これはmyNamespace / mymodule / sql / mynamespace_mymodule_setup / mysql4-install-0.1.0.php:
の内容です。<?php
/* @var $installer Mage_Core_Model_Resource_Setup */
$installer = $this;
echo 1; exit();
$installer->startSetup();
$table = $installer->getConnection()
->newTable($installer->getTable('mynamespace_mymodule/mytablename'))
->addColumn('id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
'identity' => true,
'unsigned' => true,
'nullable' => false,
'primary' => true,
), 'Id')
->addColumn('check', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
'nullable' => false,
), 'Check')
$installer->getConnection()->createTable($table);
$installer->endSetup();
.
config.xmlファイルの内容:
<config>
<modules>
<Mynamespace_Mymodule>
<version>0.1.0</version>
</Mynamespace_Mymodule>
</modules>
<global>
<models>
<mynamespace_mymodule>
<class>Mynamespace_Mymodule_Model</class>
<resourceModel>mynamespace_mymodule_mysql4</resourceModel>
</mynamespace_mymodule>
<mynamespace_mymodule_mysql4>
<class>Mynamespace_Mymodule_Model_Mysql4</class>
<entities>
<mytablename>
<table>mynamespace_mymodule_mytablename</table>
</mytablename>
</entities>
</mynamespace_mymodule_mysql4>
</models>
<resources>
<mynamespace_mymodule_setup>
<setup>
<module>Mynamespace_Mymodule</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</mynamespace_mymodule_setup>
<mynamespace_mymodule_write>
<connection>
<use>core_write</use>
</connection>
</mynamespace_mymodule_write>
<mynamespace_mymodule_read>
<connection>
<use>core_read</use>
</connection>
</mynamespace_mymodule_read>
</resources>
</global>
.
あなたが見るように私は$ installerの後に出口を出入りします。それはそこに行きません。私のXMLファイルに何か問題があります。あなたはこれを私を助けてもらえますか?THX
解決
列core_resource
= 'mynamespace_mymodule_setup'を使用してcore
にレコードがある場合は、インストーラスクリプトが再実行されません。そのレコードを削除してキャッシュ
所属していません magento.stackexchange