magento模块 -- 如何修改magento订单模块中的订单ID的起始前缀

magento模块 -- 如何修改magento订单模块中的订单ID的起始前缀

magento功能很强大,冗余数据也很多。在开发过程中难免会有很多测试的数据,如何清理呢?另外,客户有好多个magento站点,使用同一个信用卡网关来接受支付,如何才能将各个站点的订单ID的前缀修改成不同的,而不是统一的都是从1000开头的那样。

 

update eav_entity_store
inner join eav_entity_type on eav_entity_type
. entity_type_id  eav_entity_store . entity_type_id
set eav_entity_store
. increment_last_id = 30000000
where eav_entity_type
. entity_type_code = 'order' ;

这样,下一个订单号就会变成300000001。


或者:直接修改increment_prefix:用phpadmin进入到表eav_entity_type中,查看
entity_type_code的值为order的记录对应的entity_type_id对应的ID值,然后进入eav_entity_store表修改entity_type_id的值为上面找到的那个ID的记录对应的increment_prefix。如果有注意可能就会发现不同的store view已经是使用了不同的前缀了。

下面的这个试用于清空后设置相关的ID起始前缀。(后来想了一下,其实本来就不用这么复杂去弄数据库,我们直接弄个字段让用户可以编辑,然后修改一下后台订单的显示模板把这个前缀硬加在前面其实是最轻量的实现方式了)
  1. 清空magento的所有测试数据
  2.   
  3. SET  FOREIGN_KEY_CHECKS=0;  
  4.   
  5. -- reset dashboard search queries   
  6. TRUNCATE  `catalogsearch_query`;  
  7. ALTER   TABLE  `catalogsearch_query` AUTO_INCREMENT=1;  
  8.   
  9. -- reset sales order info   
  10. TRUNCATE  `sales_order`;  
  11. TRUNCATE  `sales_order_datetime`;  
  12. TRUNCATE  `sales_order_decimal`;  
  13. TRUNCATE  `sales_order_entity`;  
  14. TRUNCATE  `sales_order_entity_datetime`;  
  15. TRUNCATE  `sales_order_entity_decimal`;  
  16. TRUNCATE  `sales_order_entity_int`;  
  17. TRUNCATE  `sales_order_entity_text`;  
  18. TRUNCATE  `sales_order_entity_varchar`;  
  19. TRUNCATE  `sales_order_int`;  
  20. TRUNCATE  `sales_order_text`;  
  21. TRUNCATE  `sales_order_varchar`;  
  22. TRUNCATE  `sales_flat_quote`;  
  23. TRUNCATE  `sales_flat_quote_address`;  
  24. TRUNCATE  `sales_flat_quote_address_item`;  
  25. TRUNCATE  `sales_flat_quote_item`;  
  26. TRUNCATE  `sales_flat_quote_item_option`;  
  27. TRUNCATE  `sales_flat_order_item`;  
  28. TRUNCATE  `sendfriend_log`;  
  29. TRUNCATE  `tag`;  
  30. TRUNCATE  `tag_relation`;  
  31. TRUNCATE  `tag_summary`;  
  32. TRUNCATE  `wishlist`;  
  33. TRUNCATE  `log_quote`;  
  34. TRUNCATE  `report_event`;  
  35.   
  36. ALTER   TABLE  `sales_order` AUTO_INCREMENT=1;  
  37. ALTER   TABLE  `sales_order_datetime` AUTO_INCREMENT=1;  
  38. ALTER   TABLE  `sales_order_decimal` AUTO_INCREMENT=1;  
  39. ALTER   TABLE  `sales_order_entity` AUTO_INCREMENT=1;  
  40. ALTER   TABLE  `sales_order_entity_datetime` AUTO_INCREMENT=1;  
  41. ALTER   TABLE  `sales_order_entity_decimal` AUTO_INCREMENT=1;  
  42. ALTER   TABLE  `sales_order_entity_int` AUTO_INCREMENT=1;  
  43. ALTER   TABLE  `sales_order_entity_text` AUTO_INCREMENT=1;  
  44. ALTER   TABLE  `sales_order_entity_varchar` AUTO_INCREMENT=1;  
  45. ALTER   TABLE  `sales_order_int` AUTO_INCREMENT=1;  
  46. ALTER   TABLE  `sales_order_text` AUTO_INCREMENT=1;  
  47. ALTER   TABLE  `sales_order_varchar` AUTO_INCREMENT=1;  
  48. ALTER   TABLE  `sales_flat_quote` AUTO_INCREMENT=1;  
  49. ALTER   TABLE  `sales_flat_quote_address` AUTO_INCREMENT=1;  
  50. ALTER   TABLE  `sales_flat_quote_address_item` AUTO_INCREMENT=1;  
  51. ALTER   TABLE  `sales_flat_quote_item` AUTO_INCREMENT=1;  
  52. ALTER   TABLE  `sales_flat_quote_item_option` AUTO_INCREMENT=1;  
  53. ALTER   TABLE  `sales_flat_order_item` AUTO_INCREMENT=1;  
  54. ALTER   TABLE  `sendfriend_log` AUTO_INCREMENT=1;  
  55. ALTER   TABLE  `tag` AUTO_INCREMENT=1;  
  56. ALTER   TABLE  `tag_relation` AUTO_INCREMENT=1;  
  57. ALTER   TABLE  `tag_summary` AUTO_INCREMENT=1;  
  58. ALTER   TABLE  `wishlist` AUTO_INCREMENT=1;  
  59. ALTER   TABLE  `log_quote` AUTO_INCREMENT=1;  
  60. ALTER   TABLE  `report_event` AUTO_INCREMENT=1;  
  61.   
  62. -- Reset all ID counters   
  63. TRUNCATE  `eav_entity_store`;  
  64. ALTER   TABLE   `eav_entity_store` AUTO_INCREMENT=1;  
  65.   
  66. SET  FOREIGN_KEY_CHECKS=1;  
  67.   
  68. -- set appropriate prefixes for orders, invoices, shipments, credit memos   
  69. INSERT   INTO   `YOUR_DB_NAME`.`eav_entity_store` (`entity_store_id` ,`entity_type_id` ,`store_id` ,`increment_prefix` ,`increment_last_id`)  VALUES  ( '1' ,   '11' ,   '1' ,   '1' ,   '000000000' );  
  70. update  `eav_entity_store`  set  `increment_prefix`= 1  where  `entity_type_id`= '4'   and  `store_id`= '1' ;  
  71. update  `eav_entity_store`  set  `increment_last_id`=  '000000000'   where  `entity_type_id`= '4'   and  `store_id`= '1' ;  
  72.   
  73. INSERT   INTO   `YOUR_DB_NAME`.`eav_entity_store` (`entity_store_id` ,`entity_type_id` ,`store_id` ,`increment_prefix` ,`increment_last_id`)  VALUES  ( '2' ,   '16' ,   '1' ,   '2' ,   '000000000' );  
  74. update  `eav_entity_store`  set  `increment_prefix`= 2  where  `entity_type_id`= '18'   and  `store_id`= '1' ;  
  75. update  `eav_entity_store`  set  `increment_last_id`=  '000000000'   where  `entity_type_id`= '18'   and  `store_id`= '1' ;  
  76.   
  77. INSERT   INTO   `YOUR_DB_NAME`.`eav_entity_store` (`entity_store_id` ,`entity_type_id` ,`store_id` ,`increment_prefix` ,`increment_last_id`)  VALUES  ( '3' ,   '19' ,   '1' ,   '3' ,   '000000000' );  
  78. update  `eav_entity_store`  set  `increment_prefix`= 3  where  `entity_type_id`= '24'   and  `store_id`= '1' ;  
  79. update  `eav_entity_store`  set  `increment_last_id`=  '000000000'   where  `entity_type_id`= '24'   and  `store_id`= '1' ;  
  80.   
  81. INSERT   INTO   `YOUR_DB_NAME`.`eav_entity_store` (`entity_store_id` ,`entity_type_id` ,`store_id` ,`increment_prefix` ,`increment_last_id`)  VALUES  ( '4' ,   '23' ,   '1' ,   '4' ,   '000000000' );  
  82. update  `eav_entity_store`  set  `increment_prefix`= 4  where  `entity_type_id`= '28'   and  `store_id`= '1' ;  
  83. update  `eav_entity_store`  set  `increment_last_id`=  '000000000'   where  `entity_type_id`= '28'   and  `store_id`= '1'
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值