我正在尝试通过我正在制作的模块向sales_flat_order表添加一个新字段。我试图运行安装脚本,但似乎根本没有更改表。
以下是更新脚本:
mysql4升级-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 /型号/ Mysql4.php
<?php
class Optimiseweb_Orderpad_Model_Mysql4 extends Mage_Core_Model_Abstract
{
}
Optimiseweb / Orderpad /型号/ Mysql4 / Setup.php
<?php
class Optimiseweb_Orderpad_Model_Mysql4_Setup extends Mage_Sales_Model_Resource_Setup
{
}
Anyhelp将新字段添加到订单表中将非常感激。
答案 0 :(得分: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();