Настраиваемая таблица базы данных не отображается в Magento - PullRequest
1 голос
/ 20 декабря 2011

Я создал собственный модуль с настраиваемой таблицей базы данных для хранения / выборки значений.Я следовал следующей структуре каталогов, но моя таблица не отображается в базе данных.Любые идеи о том, почему

app/code/local
Namespace
 Module
   Block

   controllers
     IndexController.php

   etc
     config.xml

   Helper
     Data.php

   Model
     Module.php
     Observer.php
     Mysql4
       Module.php
       Module
         Collection.php

   sql
     module_setup
        mysql4-install-0.1.0.php

   app/etc
      Namespace_Module.xml

Это мой config.xml

<config>    
<modules>
    <Namespace_Module>
        <version>0.1.0</version>
    </Namespace_Module>
</modules>
<global>
<helpers>
    <module>
        <class>Namespace_Module_Helper</class>
    </module>
</helpers>  
<models>
    <module>
        <class>Namespace_Module_Model</class>
    <resourceModel>module_mysql4</resourceModel>
    </module>
    <module_mysql4>
        <class>Namespace_Module_Model_Mysql4</class>
        <entities>
            <module>
                <table>module</table>
            </module>
        </entities>
    </module_mysql4>
 </models>
<resources>
        <module_setup>
            <setup>
                <module>Namespace_Module</module>
            </setup>
            <connection>
                <use>core_setup</use>
            </connection>
        </module_setup>
        <module_write>
            <connection>
                <use>core_write</use>
            </connection>
        </module_write>
        <module_read>
            <connection>
                <use>core_read</use>
            </connection>
        </module_read>
    </resources>
    <blocks>
        <module>
            <class>Namespace_Module_Block</class>
        </module>
    </blocks>
 </global>
 <crontab>
<jobs>
<send_reviews_email>
    <schedule><cron_expr>*/5 * * * *</cron_expr></schedule>
    <run><model>module/observer::sendReviewsEmail</model></run>
</send_reviews_email>
</jobs>
 </crontab>
 <frontend>
   <routers>
     <module>
        <use>standard</use>
        <args>
            <module>Namespace_Module</module>
            <frontName>module</frontName>
        </args>
      </module>
    </routers>
  </frontend>       
</config>

Это мой mysql4-install-0.1.0.php

<?php
  $installer = $this;
  $installer->startSetup();
  $installer->run("
  -- DROP TABLE IF EXISTS {$this->getTable('cronemails')};
  CREATE TABLE {$this->getTable('cronemails')} (
  `cronemails_id` int(11) unsigned NOT NULL auto_increment,
  `order_id` varchar(255) default '',
  `order_email_id` varchar(255) default '',
  `review_request` smallint(6) NOT NULL default '0',
  `coupon_sent` smallint(6) NOT NULL default '0',
  PRIMARY KEY (`cronemails_id`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    ");
  $installer->endSetup();

Ответы [ 2 ]

1 голос
/ 20 декабря 2011
  1. Проверьте, находится ли ваш модуль в таблице core_resource. Если да, то удалите его оттуда и попробуйте снова.

  2. Убедитесь, что версия вашего модуля в config.xml равна или больше 0,1.0

0 голосов
/ 20 декабря 2011

попробуйте изменить номер версии на 0.1.1 и переименуйте ваш файл в `mysql4-upgrade-0.1.0-0.1.1.php.
, хотя, как и в случае с 1.6.1.0, я не уверен, так ли эторабота: если нет, попробуйте 1.6.1.0-1.6.1.1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...