0

我正在尝试通过我正在制作的模块向 sales_flat_order 表添加一个新字段。我试图运行安装脚本,但它似乎根本没有改变表格。

这是更新脚本:

mysql4-upgrade-0.1.1-0.1.2.php

<?php

$installer = $this;
$installer->getConnection()->addColumn($installer->getTable('sales_flat_order'), 'expected_delivery_date', 'datetime');

这是我的 config.xml

...

<modules>
    <Optimiseweb_OrderPad>
        <version>0.1.2</version>
    </Optimiseweb_OrderPad>
</modules>


...
<resources>
  <orderpad>
      <setup>
          <module>Optimiseweb_Orderpad</module>
          <class>Optimiseweb_Orderpad_Model_Mysql4_Setup</class>
      </setup>
  </orderpad>
</resources>

<models>
  <orderpad>
    <class>Mage_Sales_Model</class>
    <resourceModel>orderpad_mysql4</resourceModel>
  </orderpad>
  <orderpad_mysql4>
           <class>Optimiseweb_Orderpad_Model_Mysql4</class>
           <entities>
               <order><table>sales_flat_order</table></order>
           </entities>
  </orderpad_mysql4>
</models>
...

config.xml 中提到的两个模型

Optimiseweb/Orderpad/Model/Mysql4.php

<?php

class Optimiseweb_Orderpad_Model_Mysql4 extends Mage_Core_Model_Abstract
{



}

Optimiseweb/Orderpad/Model/Mysql4/Setup.php

<?php

class Optimiseweb_Orderpad_Model_Mysql4_Setup extends Mage_Sales_Model_Resource_Setup
{



}

将新字段添加到订单表的任何帮助将不胜感激。

4

1 回答 1

2

如果您需要向平面销售表添加列,最好通过向销售实体 (sales_order) 添加属性来完成。确保您的安装模型Optimiseweb_Orderpad_Model_Mysql4_Setup扩展 Mage_Sales_Model_Resource_Setup并执行

$installer = $this;
$installer->startSetup();

$installer->addAttribute('order', 'expected_delivery_date', array('type'=>'datetime'));

$installer->endSetup();
于 2013-01-25T16:58:55.053 回答