2013-05-16 26 views
1

目前我正在开发一个Magento扩展,需要添加几个自定义属性到客户地址。 我发现关于这个专题的几个教程描述正是我需要建立 http://www.unexpectedit.com/magento/add-new-customer-attribute-onepage-magento-checkout http://www.excellencemagentoblog.com/magento-adding-custom-field-to-customer-address是否可以升级安全添加自定义地址属性

它们都使用ALTER TABLE将列添加到几个分贝tables.My的问题是:

是它升级安全地做到这一点?

在此先感谢

回答

1

他们使用Magento的框架法的addAttribute()不是纯粹的SQL查询。他们在升级脚本中使用它,这是它的目的:安全升级数据库..

请注意,客户实体的EAV机制是为了不改变表定义而添加数据。所以在后台中,customer :: addAttribute不会执行单个ALTER TABLE。相反,现在的表格sales_flat_order/quote addAttribute方法确实会改变这些表格,导致它不再是一个EAV实体。

他们做得很对。

我真的不明白你的问题。

+0

嗨,Bixi我的问题是关于在本文的最后描述的两个ALTER TABLE语句:http://www.excellencemagentoblog.com/magento-adding-custom-field-to-customer-address.Anyway我在这里找到了答案:无论如何,感谢你! –

+0

好吧,我没看过那部分。正如我告诉过你的,sales_flat表的更改表是添加数据的唯一方法,因为它不是EAV实体。虽然,我并不直接使用ALTER TABLE查询,而是使用框架: '$ installer-> getConnection() - > addColumn($ installer-> getTable('sales/quote'),'govt_id',array('TYPE '=> Varien_Db_Ddl_Table :: TYPE_VARCHAR,'LENGTH'=>'255','NULLABLE'=> false));' –

+0

但是这在升级方面安全吗? –

相关问题