2012-07-30 99 views
0

在magento中,我创建了一个自定义模块并完成了模板和控制器部分,但对处理模型和db部分感到困惑。从我的自定义模块中,我想要更改表sales_flat_order_item并添加一个附加字段。现在,我在路 应用程序\代码创建了一个设置脚本像在magento中的自定义模块中添加sales_flat_order_item表中的新字段

$installer = $this; 
$installer->startSetup(); 
$installer->run(" 
ALTER TABLE sales_flat_order_item ADD COLUMN new_field TEXT NULL; 

ALTER TABLE sales_flat_invoice_item ADD COLUMN new_field TEXT NULL; 

ALTER TABLE sales_flat_shipment_item ADD COLUMN new_field TEXT NULL; 
"); 
$installer->endSetup(); 

\本地\命名空间\模块\ SQL \ _setup \ mysql4安装-0.1.0.php 但表中没有似乎是改变了在脚本或模块文件中可以完成的配置,以像其他字段一样添加附加字段和处理数据。任何一个帮助。谢谢。

+0

您正在使用什么版本的Magento? – 2012-07-30 07:52:58

+0

Magento 1.7.0.2 – Soji 2012-07-30 08:33:17

回答

1

是您的config.xml配置是什么样子?

<global></global>标签,您需要添加:

<resources> 
    <sql_setup> 
     <setup> 
      <module>Namespace_Module</module> 
     </setup> 
    </sql_setup> 
</resources> 
+0

对不起,说,添加这在配置文件,但没有结果。 – Soji 2012-07-30 07:02:22

+0

你可以发布你的所有config.xml文件吗?还请检查你的数据库:select * from core_resource where code like'sql_setup'; – ivantedja 2012-07-30 07:11:30

+0

给定查询返回一行,代码为:sql_setup,版本:0.4.0,data_version:0.4.0 – Soji 2012-07-30 07:20:35

0

尝试把这样的事情

$installer->run(" 
ALTER TABLE {$this->getTable('sales_flat_shipment_item')} ADD `new_field` TEXT NULL ; 
"); 
+0

试过这个,但没有为我工作。模型文件或config xml中是否需要进行任何更改?任何想法? – Soji 2012-07-30 06:44:01

+0

您是否尝试更改版本号。对于模块 – Mufaddal 2012-07-30 06:45:20

+0

是的版本值已更改。 – Soji 2012-07-30 06:53:53

相关问题