首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在表中创建新列

问在表中创建新列
EN

Stack Overflow用户
提问于 2017-11-17 22:55:30
回答 1查看 50关注 0票数 0

我试着在我的模块中添加我需要的新列,所以我需要在"sales_flat_order“表中创建3列。我已经创建了php脚本来添加sql并在我的config.xml上配置它,但是加载我的商店后,清理我的缓存,什么都没有改变,如果我遗漏了什么,很抱歉,这是我构建的第一个模块,在magento上添加新的表或列仍然是我的新鲜事。

我的模块结构如下:- local/CompanyName/Mynewmodule/sql/invoicedocs_setup/mysql4-install-010.php

代码语言:javascript
复制
$installer = $this;
$installer->startSetup();

$installer->getConnection()
    ->addColumn($installer->getTable('sales/order'),'magnifinance_invoice_id', array(
        'type'      => Varien_Db_Ddl_Table::TYPE_INTEGER,
        'nullable'  => true,
        'length'    => 10,
        'after'     => 'status', // column name to insert new column after
        'comment'   => 'Company Invoice ID'
    ))
    ->addColumn($installer->getTable('sales/order'),'magnifinance_invoice_url', array(
        'type'      => Varien_Db_Ddl_Table::TYPE_TEXT,
        'nullable'  => true,
        'length'    => 255,
        'after'     => 'status', // column name to insert new column after
        'comment'   => 'Company Invoice URL Doc'
    ))
    ->addColumn($installer->getTable('sales/order'),'magnifinance_date', array(
        'type'      => Varien_Db_Ddl_Table::TYPE_DATETIME,
        'nullable'  => true,
        'after'     => 'status', // column name to insert new column after
        'comment'   => 'Company Invoice Date'
    ));
$installer->endSetup();


- local/CompanyName/Mynewmodule/etc/config.xml:



       <config>
            <global>
                <models>
                    <magnifinance>
                        <class>CompanyName_Mynewmodule_Model</class>
                    </magnifinance>
                </models>


                <resources>
                    <invoicedocs_setup>
                        <setup>
                            <module>CompanyName_Mynewmodule</module>
                            <class>Mage_Catalog_Model_Resource_Setup</class>
                        </setup>
                        <connection>
                            <use>core_setup</use>
                        </connection>
                    </invoicedocs_setup>
                    <invoicedocs_write>
                        <connection>
                            <use>core_write</use>
                        </connection>
                    </invoicedocs_write>
                    <invoicedocs_read>
                        <connection>
                            <use>core_read</use>
                        </connection>
                    </invoicedocs_read>
                </resources>
...

我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2017-11-18 05:35:10

请验证您在config.xml中是否有该部分

代码语言:javascript
复制
<modules>
   <CompanyName_Mynewmodule>
      <version>0.1.0</version>
   </CompanyName_Mynewmodule> 
</modules>

尝试将文件mysql4-install-010.php重命名为mysql4-install-0.1.0.php (文件名中的数字应与config.xml中的版本相同)

在运行sql脚本之前,请确保表core_resource中没有行:invoicedocs_setup 0.1.0 0.1.0。(如果该行存在,您将无法运行该脚本。该行应在成功安装后出现)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47353486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档