从 magento 的自定义模块中添加 sales_flat_order_item 表中的新字段
Posted
技术标签:
【中文标题】从 magento 的自定义模块中添加 sales_flat_order_item 表中的新字段【英文标题】:Adding new field in sales_flat_order_item table from custom module in magento 【发布时间】:2012-07-30 05:23:42 【问题描述】:在 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();
在路径中 app\code\local\Namespace\Module\sql\_setup\mysql4-install-0.1.0.php 但是表格似乎没有改变,可以在脚本或模块文件中进行哪些配置来添加附加字段并与其他字段一样处理数据。任何人的帮助。谢谢。
【问题讨论】:
你用的是什么版本的magento? 【参考方案1】:你的 config.xml 配置是什么样的?
<global></global>
标签下需要添加:
<resources>
<sql_setup>
<setup>
<module>Namespace_Module</module>
</setup>
</sql_setup>
</resources>
【讨论】:
很抱歉,在配置文件中添加了这个但没有结果。 你能发布你所有的 config.xml 文件吗?还请检查您的数据库:select * from core_resource where code like 'sql_setup'; 给定查询返回一行,代码:sql_setup,版本:0.4.0,data_version:0.4.0 表示你当前模块的版本是0.4.0。您可以升级但不能安装。如果要安装,则需要删除 core_resource 中的值(从 core_resource 中删除,其中代码如 'sql_setup')并将模块的版本更改为 0.1.0 (试着放这样的东西
$installer->run("
ALTER TABLE $this->getTable('sales_flat_shipment_item') ADD `new_field` TEXT NULL ;
");
【讨论】:
试过这个但对我不起作用。模型文件或配置 xml 中是否需要任何更改?有什么想法吗? 是的,版本值已更改。以上是关于从 magento 的自定义模块中添加 sales_flat_order_item 表中的新字段的主要内容,如果未能解决你的问题,请参考以下文章
添加具有订单详细信息功能的自定义按钮 - Magento 2