如何在magento中的自定义模块中创建sql安装程序,以便通过脚本创建表

时间:2014-11-18 11:20:58

标签: php mysql magento

我需要在magento中创建sql安装程序.....我创建了一个模块,我通过sql查询直接创建表到sql编辑器...

但是对于全局模块我需要创建sql安装程序...在magento sql ...我给我的配置详细信息....我也想知道在magento中执行sql脚本所需的更改。 。我想知道sql脚本应该是什么。

我的配置..

<?xml version="1.0" encoding="UTF-8" ?>
<config>
    <!-- module configuration -->
    <modules>
        <Webcreon_Seller>
            <version>0.0.1</version>
        </Webcreon_Seller>
    </modules>
    <!-- module configuration end -->
    <frontend>
        <routers>
            <seller>
                <use>standard</use>
                <args>
                    <module>Webcreon_Seller</module>
                    <frontName>seller</frontName>  
                </args>
            </seller>
        </routers>
     <layout>
            <updates>
                <seller>
                      <file>sellerform.xml</file>
                </seller>
            </updates>
       </layout>
    </frontend>
    <admin>
     <routers>
         <seller>
            <use>admin</use>
            <args>
               <module>Webcreon_Seller</module>
               <frontName>adminseller</frontName>
            </args>
         </seller>
      </routers>
 </admin>
 <adminhtml>
   <layout>
      <updates>
          <seller>
              <file>sellerform.xml</file>
           </seller>
      </updates>
   </layout>
   <menu>
      <customer translate="title" module="adminhtml">

         <sort_order>10</sort_order>
         <children>
             <set_time>
                   <title>Seller List</title>
                   <action>adminseller/adminhtml_index</action>
              </set_time>
          </children>
       </customer>
    </menu>
</adminhtml> 

    <global>
        <blocks>
            <seller>
                <class>Webcreon_Seller_Block</class>
            </seller>
         </blocks>
         <helpers>
            <seller>
                <class>Webcreon_Seller_Helper</class>
            </seller> 
        </helpers>
              <models>
          <seller>
                <class>Webcreon_Seller_Model</class>
                 <resourceModel>seller_mysql4</resourceModel>
            </seller> 
            <seller_mysql4>
             <class>Webcreon_Seller_Model_Mysql4</class>
             <entities>
                 <seller>
                   <table>db_vendor</table>
                 </seller>
              </entities>
          </seller_mysql4>
        </models>
        <resources>
        <!-- connection to write -->
        <seller_write>
            <connection>
                <use>core_write</use>
            </connection>
        </seller_write>
        <!-- connection to read -->
       <seller_read>
          <connection>
             <use>core_read</use>
          </connection>
       </seller_read>
</resources>
    </global>


</config>

1 个答案:

答案 0 :(得分:2)

在“资源”标签下的配置文件中添加以下内容

<seller_setup>
    <setup>
         <module>Webcreon_Seller</module>
    </setup>
    <connection>
      <use>core_setup</use>
    </connection>
 </seller_setup>

现在在模块中创建名为“sql”的文件夹。并在sql文件夹中创建名为“seller_setup”的文件夹。在里面创建一个名为“mysql4-install-0.1.0.php”的php文件。请记住,在此文件名中,0.1.0应与您在顶部的config.xml中定义的模块版本匹配。在你的情况下它是好的。现在在里面用字段创建你的表。我在下面提供了一个例子。编辑你的要求。

     <?php

$installer = $this;

$installer->startSetup();

$installer->run("
DROP TABLE IF EXISTS {$this->getTable('vendor_profile')};
CREATE TABLE {$this->getTable('vendor_profile')} (
  `vendor_profile_id` int(11) unsigned NOT NULL auto_increment,
  `vendor_id` int(11) unsigned NOT NULL,
  `discipline` varchar(255) NULL default '',
  `studio_title` varchar(255) NULL default '',
  `profilepic`  varchar(255) NULL ,
  `bannerpic`  varchar(255) NULL ,
  `biography` TEXT NOT NULL default '',
  `facebookid` varchar(255) NOT NULL default '',
  `twitterid` varchar(255) NOT NULL default '',



PRIMARY KEY (`vendor_profile_id`),FOREIGN KEY(vendor_id) REFERENCES udropship_vendor(vendor_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
");

$installer->endSetup();

现在,在设置完所有内容后,刷新您的网页并查看您的数据库,您将看到您的表格。有关升级脚本,请参阅magento commerce wiki。

希望这会有所帮助。