如何修改Magento2 Increment Id
今天要來介紹修改increment id,在Magento2裡不管是訂單、發票、配送單還是退款單都會有increment id這個欄位,這個欄位就是用來當流水號用的,但為什麼會需要修改這個欄位呢?很多時候在與第三方平台串接時候,都會以increment id當作對接的唯一值,在開發的期間又會有local、test、staging、production各種不同的對接通一個第三方平台,此時就會發生第三方平台收到同樣的increment id導致錯誤,無法繼續進行下去,因此去修改increment id前綴開頭號碼,是最為快速的解決方法!
而其它要修改的原因也有碰到客戶為了美觀,希望單號能從100000001開始等之類的理由需要修改increment id。
首先要知道Magento2裡面的sales_order、sales_invoice、sales_shipment、sales_creditmemo這四張表都有increment_id欄位,而這流水號的來源會對應sequence_order_{websiteId}、sequence_invoice_{websiteId}、sequence_shipment_{websiteId}、sequence_creditmemo_{websiteId},而最後的數字會根據此網站是否有開多website,來決定有幾張對應的sequence資料表,假設只有預設的一個website的話,如下圖所示
如果後面有新開第二個的website就會再多sequence_order_2、sequence_invoice_2、sequence_shipment_2、sequence_creditmemo_2這樣一組,以此類推。
而要怎麼修改increment_id呢,也很簡單,只要進入Mysql資料庫,使用以下的語法
ALTER TABLE `magento`.`sequence_order_1` AUTO_INCREMENT = 100000001 ;
ALTER TABLE `magento`.`sequence_invoice_1` AUTO_INCREMENT = 100000001 ;
ALTER TABLE `magento`.`sequence_shipment_1` AUTO_INCREMENT = 100000001 ;
ALTER TABLE `magento`.`sequence_creditmemo_1` AUTO_INCREMENT = 100000001 ;
這樣流水號就能修改成功了!但要注意自己的websiteId數字多少,再去修改sequence表最後的數字就行了。
以上就是本篇的分享喔!喜歡歐斯瑞文章的讀者們,記得追蹤歐斯瑞粉絲團及Instagram,也別忘了訂閱我們的電子報,才不會錯過最新的文章分享喔!
若有任何問題,也歡迎隨時聯繫我們!
我要留言