如何创建表在Magento定制模块?(How to create table for custom

2019-08-16 16:52发布

我在Magento新。 我需要创建自己的模块(或)在Magento扩展。 在我的模块,表不能在Magento的表中创建。 我使用这个代码。

File:/app/code/local/com_name/module_name/sql/module_setup/mysql4_install-0.1.0.php
 $installer = $this;
  $installer->startSetup();

  $installer->run("
    DROP TABLE IF EXISTS {$this->getTable('th_tweet')};

    CREATE TABLE {$this->getTable('th_tweet')} (
      `tweet_id` int(11) NOT NULL AUTO_INCREMENT,
      `updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `twitter_id` bigint(20) NOT NULL,
      `text` text NOT NULL,
      PRIMARY KEY (`tweet_id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1
  ");

  $installer->endSetup();

然后,config.xml文件可以这样调用,

<models>
        <tweet>
            <class>TechAndHouse_Tweet_Model</class>
            <resourceModel>tweet_mysql4</resourceModel>
        </tweet>

            <tweet_mysql4>
                  <class>TechAndHouse_Tweet_Model_Mysql4</class>
                  <entities>
                        <tweet>
                              <table>th_tweet</table>
                        </tweet>
                  </entities>
            </tweet_mysql4>
      </models>

我在管理面板创建选项卡和前端块createded,但我不能为我的自定义模块创建一个表。 如何创建我的自定义模块的表?

任何帮助,将不胜感激。

Answer 1:

添加资源部分,将config.xml中,全球

<global>
    ...
    <resources>
        <tweet_setup>
            <setup>
                <module>TechAndHouse_Tweet</module>
            </setup>
            <connection>
                <use>core_setup</use>
            </connection>
        </tweet_setup>
        <tweet_write>
            <connection>
                <use>core_write</use>
            </connection>
        </tweet_write>
        <tweet_read>
            <connection>
                <use>core_read</use>
            </connection>
        </tweet_read>
    </resources>
    ...
</global>


文章来源: How to create table for custom module in magento?