magento给order的incrementID加前缀

来源:互联网 发布:安装解压版mysql步骤 编辑:程序博客网 时间:2024/06/05 06:02

Sometimes the need arises where you must change the Magento order numbering. Perhaps it is necessary to avoid conflict with a separate Magento installation or other ecommerce platform. Or maybe you just want to increase your order number to look like you’ve processed hundreds of thousands of orders. Whatever the case may be here are some SQL commands you can run to check the status of your store’s order numbers, and commands to also change the numbering. In addition, I’ve included SQL commands to modify the invoice, shipment, and credit memo increment IDs as well.

Note: These queries were tested on Magento Community Edition v1.6.2.0. I fully expect the increment ID queries to work on v1.4.1 and above, but DO NOT set the increment prefix toNULL on anything less than v1.6.0. Backup your database before making any changes in case your copy of Magento reacts unexpectedly.

Find the Current Increment IDs for All Stores

SELECT core_store_group.name AS group_name, core_website.name AS website_name, core_store.name AS store_name, core_store.store_id, increment_prefix, increment_last_id, entity_type_codeFROM eav_entity_storeINNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_idINNER JOIN core_store ON core_store.store_id = eav_entity_store.store_idINNER JOIN core_store_group ON core_store_group.group_id = core_store.group_idINNER JOIN core_website ON core_website.website_id = core_store.website_idWHERE eav_entity_store.store_id != 0 ORDER BY eav_entity_store.store_id;

This will display your current increment ID and prefix for all document types (quotes, orders, invoices, shipments, and credit memos). In addition it will show you the website group, website name, store name, and store ID for each type of increment ID to help you in updating a specific store among multiple stores.

When making changes keep in mind that the increment_prefix field type is varchar(20) and that theincrement_last_id field type is varchar(50).

Order Increment ID and Prefix

Change your Order Increment ID on All Stores

UPDATE eav_entity_storeINNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_idSET eav_entity_store.increment_last_id='XXXXXXXXXX'WHERE eav_entity_type.entity_type_code='order';

Replace the X‘s with your desired order number and run the query.

Change your Order Prefix on All Stores

UPDATE eav_entity_storeINNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_idSET eav_entity_store.increment_prefix='X'WHERE eav_entity_type.entity_type_code='order';

Replace the X with your desired order prefix or remove the quotes and set X to NULL (no quotes) to disable the order prefix, then run the query.

Change your Order Increment ID on a Specific Store

UPDATE eav_entity_storeINNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_idSET eav_entity_store.increment_last_id='XXXXXXXXXX'WHERE eav_entity_type.entity_type_code='order' AND eav_entity_store.store_id = 'Y';

Replace the X‘s with your desired order number, replace Y with the store ID of the store you want to modify, then run the query.

Change your Order Prefix on a Specific Store

UPDATE eav_entity_storeINNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_idSET eav_entity_store.increment_prefix='X'WHERE eav_entity_type.entity_type_code='order' AND eav_entity_store.store_id = 'Y';


Replace the X with your desired order prefix or remove the quotes and set X to NULL (no quotes) to disable the order prefix, then replace Y with the store ID of the store you want to modify. Run the query.

Invoice Increment ID and Prefix

Change your Invoice Increment ID on All Stores

UPDATE eav_entity_storeINNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_idSET eav_entity_store.increment_last_id='XXXXXXXXXX'WHERE eav_entity_type.entity_type_code='invoice';


Replace the X‘s with your desired invoice number and run the query.

Change your Invoice Prefix on All Stores

UPDATE eav_entity_storeINNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_idSET eav_entity_store.increment_prefix='X'WHERE eav_entity_type.entity_type_code='invoice';


Change your Invoice Increment ID on a Specific StoreReplace the X with your desired invoice prefix or remove the quotes and set X to NULL (no quotes) to disable the order prefix, then run the query.


UPDATE eav_entity_storeINNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_idSET eav_entity_store.increment_last_id='XXXXXXXXXX'WHERE eav_entity_type.entity_type_code='invoice' AND eav_entity_store.store_id = 'Y';

Replace the X‘s with your desired invoice number, replace Y with the store ID of the store you want to modify, then run the query.

Change your Invoice Prefix on a Specific Store

UPDATE eav_entity_storeINNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_idSET eav_entity_store.increment_prefix='X'WHERE eav_entity_type.entity_type_code='invoice' AND eav_entity_store.store_id = 'Y';

Replace the X with your desired invoice prefix or remove the quotes and set X to NULL (no quotes) to disable the order prefix, then replace Y with the store ID of the store you want to modify. Run the query.

Shipment Increment ID and Prefix

Change your Shipment Increment ID on All Stores

UPDATE eav_entity_storeINNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_idSET eav_entity_store.increment_last_id='XXXXXXXXXX'WHERE eav_entity_type.entity_type_code='shipment';

Replace the X‘s with your desired shipment number and run the query.

Change your Shipment Prefix on All Stores

UPDATE eav_entity_storeINNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_idSET eav_entity_store.increment_prefix='X'WHERE eav_entity_type.entity_type_code='shipment';


Replace the X with your desired shipment prefix or remove the quotes and set X to NULL (no quotes) to disable the order prefix, then run the query.

Change your Order Increment ID on a Specific Store


UPDATE eav_entity_storeINNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_idSET eav_entity_store.increment_last_id='XXXXXXXXXX'WHERE eav_entity_type.entity_type_code='shipment' AND eav_entity_store.store_id = 'Y';

Replace the X‘s with your desired shipment number, replace Y with the store ID of the store you want to modify, then run the query.

Change your Order Prefix on a Specific Store

UPDATE eav_entity_storeINNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_idSET eav_entity_store.increment_prefix='X'WHERE eav_entity_type.entity_type_code='shipment' AND eav_entity_store.store_id = 'Y';

Replace the X with your desired shipment prefix or remove the quotes and set X to NULL (no quotes) to disable the order prefix, then replace Y with the store ID of the store you want to modify. Run the query.

Credit Memo Increment ID and Prefix

Change your Credit Memo Increment ID on All Stores

UPDATE eav_entity_storeINNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_idSET eav_entity_store.increment_last_id='XXXXXXXXXX'WHERE eav_entity_type.entity_type_code='creditmemo';

Replace the X‘s with your desired credit memo number and run the query.

Change your Credit Memo Prefix on All Stores

UPDATE eav_entity_storeINNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_idSET eav_entity_store.increment_prefix='X'WHERE eav_entity_type.entity_type_code='creditmemo';

Replace the X with your desired credit memo prefix or remove the quotes and set X to NULL (no quotes) to disable the order prefix, then run the query.

Change your Credit Memo Increment ID on a Specific Store


UPDATE eav_entity_storeINNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_idSET eav_entity_store.increment_last_id='XXXXXXXXXX'WHERE eav_entity_type.entity_type_code='creditmemo' AND eav_entity_store.store_id = 'Y';

Replace the X‘s with your desired credit memo number, replace Y with the store ID of the store you want to modify, then run the query.

Change your Credit Memo Prefix on a Specific Store

UPDATE eav_entity_storeINNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_idSET eav_entity_store.increment_prefix='X'WHERE eav_entity_type.entity_type_code='creditmemo' AND eav_entity_store.store_id = 'Y';

Replace the X with your desired credit memo prefix or remove the quotes and set X to NULL (no quotes) to disable the order prefix, then replace Y with the store ID of the store you want to modify. Run the query.


转自:http://www.warpconduit.net/2012/04/18/how-to-change-the-order-increment-id-and-prefix-in-magento/

原创粉丝点击