2013-05-16 55 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

但是這在升級方面安全嗎? –

相關問題