好的,通過個人實驗,很好用。php
SET FOREIGN_KEY_CHECKS=0; -- Here's where we reset the orders TRUNCATE `sales_flat_order`; TRUNCATE `sales_flat_order_address`; TRUNCATE `sales_flat_order_grid`; TRUNCATE `sales_flat_order_item`; TRUNCATE `sales_flat_order_status_history`; TRUNCATE `sales_flat_quote`; TRUNCATE `sales_flat_quote_address`; TRUNCATE `sales_flat_quote_address_item`; TRUNCATE `sales_flat_quote_item`; TRUNCATE `sales_flat_quote_item_option`; TRUNCATE `sales_flat_order_payment`; TRUNCATE `sales_flat_quote_payment`; TRUNCATE `sales_flat_shipment`; TRUNCATE `sales_flat_shipment_item`; TRUNCATE `sales_flat_shipment_grid`; TRUNCATE `sales_flat_invoice`; TRUNCATE `sales_flat_invoice_grid`; TRUNCATE `sales_flat_invoice_item`; TRUNCATE `sendfriend_log`; TRUNCATE `tag`; TRUNCATE `tag_relation`; TRUNCATE `tag_summary`; TRUNCATE `wishlist`; TRUNCATE `log_quote`; TRUNCATE `report_event`; ALTER TABLE `sales_flat_order` AUTO_INCREMENT=1; ALTER TABLE `sales_flat_order_address` AUTO_INCREMENT=1; ALTER TABLE `sales_flat_order_grid` AUTO_INCREMENT=1; ALTER TABLE `sales_flat_order_item` AUTO_INCREMENT=1; ALTER TABLE `sales_flat_order_status_history` AUTO_INCREMENT=1; ALTER TABLE `sales_flat_quote` AUTO_INCREMENT=1; ALTER TABLE `sales_flat_quote_address` AUTO_INCREMENT=1; ALTER TABLE `sales_flat_quote_address_item` AUTO_INCREMENT=1; ALTER TABLE `sales_flat_quote_item` AUTO_INCREMENT=1; ALTER TABLE `sales_flat_quote_item_option` AUTO_INCREMENT=1; ALTER TABLE `sendfriend_log` AUTO_INCREMENT=1; ALTER TABLE `sales_flat_order_payment` AUTO_INCREMENT=1; ALTER TABLE `sales_flat_quote_payment` AUTO_INCREMENT=1; ALTER TABLE `sales_flat_shipment` AUTO_INCREMENT=1; ALTER TABLE `sales_flat_shipment_item` AUTO_INCREMENT=1; ALTER TABLE `sales_flat_invoice` AUTO_INCREMENT=1; ALTER TABLE `sales_flat_invoice_grid` AUTO_INCREMENT=1; ALTER TABLE `sales_flat_invoice_item` AUTO_INCREMENT=1; ALTER TABLE `sales_flat_shipment_grid` AUTO_INCREMENT=1; ALTER TABLE `tag` AUTO_INCREMENT=1; ALTER TABLE `tag_relation` AUTO_INCREMENT=1; ALTER TABLE `tag_summary` AUTO_INCREMENT=1; ALTER TABLE `wishlist` AUTO_INCREMENT=1; ALTER TABLE `log_quote` AUTO_INCREMENT=1; ALTER TABLE `report_event` AUTO_INCREMENT=1; -- Here's where we reset the customers TRUNCATE `customer_address_entity`; TRUNCATE `customer_address_entity_datetime`; TRUNCATE `customer_address_entity_decimal`; TRUNCATE `customer_address_entity_int`; TRUNCATE `customer_address_entity_text`; TRUNCATE `customer_address_entity_varchar`; TRUNCATE `customer_entity`; TRUNCATE `customer_entity_datetime`; TRUNCATE `customer_entity_decimal`; TRUNCATE `customer_entity_int`; TRUNCATE `customer_entity_text`; TRUNCATE `customer_entity_varchar`; TRUNCATE `log_customer`; TRUNCATE `log_visitor`; TRUNCATE `log_visitor_info`; ALTER TABLE `customer_address_entity` AUTO_INCREMENT=1; ALTER TABLE `customer_address_entity_datetime` AUTO_INCREMENT=1; ALTER TABLE `customer_address_entity_decimal` AUTO_INCREMENT=1; ALTER TABLE `customer_address_entity_int` AUTO_INCREMENT=1; ALTER TABLE `customer_address_entity_text` AUTO_INCREMENT=1; ALTER TABLE `customer_address_entity_varchar` AUTO_INCREMENT=1; ALTER TABLE `customer_entity` AUTO_INCREMENT=1; ALTER TABLE `customer_entity_datetime` AUTO_INCREMENT=1; ALTER TABLE `customer_entity_decimal` AUTO_INCREMENT=1; ALTER TABLE `customer_entity_int` AUTO_INCREMENT=1; ALTER TABLE `customer_entity_text` AUTO_INCREMENT=1; ALTER TABLE `customer_entity_varchar` AUTO_INCREMENT=1; ALTER TABLE `log_customer` AUTO_INCREMENT=1; ALTER TABLE `log_visitor` AUTO_INCREMENT=1; ALTER TABLE `log_visitor_info` AUTO_INCREMENT=1; -- This is to Reset all the ID counters TRUNCATE `eav_entity_store`; ALTER TABLE `eav_entity_store` AUTO_INCREMENT=1; SET FOREIGN_KEY_CHECKS=1;
或者使用源碼刪除全部訂單(不刪除用戶)html
<?php /** * @author Dejan Radic <dejan.radic@inchoo.net> */ if (version_compare(phpversion(), '5.2.0', '<')===true) { echo '<div style="font:12px/1.35em arial, helvetica, sans-serif;"><div style="margin:0 0 25px 0; border-bottom:1px solid #ccc;"><h3 style="margin:0; font-size:1.7em; font-weight:normal; text-transform:none; text-align:left; color:#2f2f2f;">Whoops, it looks like you have an invalid PHP version.</h3></div><p>Magento supports PHP 5.2.0 or newer. <a href="http://www.magentocommerce.com/install" target="">Find out</a> how to install</a> Magento using PHP-CGI as a work-around.</p></div>'; exit; } error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 1); $mageFilename = 'app/Mage.php'; if (!file_exists($mageFilename)) { echo $mageFilename." was not found"; exit; } require_once $mageFilename; Mage::app(); $executionPath = null; /* * determine Magento Edition */ if (file_exists('LICENSE_EE.txt')) { $edition = 'EE'; }elseif (file_exists('LICENSE_PRO.html')) { $edition = 'PE'; } else { $edition = 'CE'; } if(($edition=='EE' && version_compare(Mage::getVersion(), '1.11.0.0.', '<')===true) || ($edition=='PE' && version_compare(Mage::getVersion(), '1.11.0.0.', '<')===true) || ($edition=='CE' && version_compare(Mage::getVersion(), '1.6.0.0.', '<')===true) ){ $executionPath = 'old'; } else { $executionPath = 'new'; } $xpathEntity = 'global/models/sales_entity/entities//table'; if ($executionPath == 'old') { $xpathResource = 'global/models/sales_mysql4/entities//table'; } else { $xpathResource = 'global/models/sales_resource/entities//table'; } $salesEntitiesConf = array_merge( Mage::getSingleton('core/config')->init()->getXpath($xpathEntity), Mage::getSingleton('core/config')->init()->getXpath($xpathResource) ); $resource = Mage::getSingleton('core/resource'); $connection = $resource->getConnection('core_write'); /* * If you want delete System/Order Statuses (Status and State) you * should comments below lines (46-51) */ $skipTables = array ( $resource->getTableName('sales_order_status'), $resource->getTableName('sales_order_status_state'), $resource->getTableName('sales_order_status_label') ); $salesEntitiesConf = array_diff($salesEntitiesConf, $skipTables); /* Multiple RDBMS Support in Magento CE 1.6+ / EE 1.11+ http://www.magentocommerce.com/images/uploads/RDBMS_Guide2.pdf 2.2. Adapters: ... The new Varien_DB_Adapter_Interface was added to sign a contract that all developed adapters must execute in order to get Magento working on an actual database. The interface describes the list of methods and constants that can be used by resource models... Used below in the loop: * If $executionPath == 'old' * Varien_Db_Adapter_Pdo_Mysql::showTableStatus() * Varien_Db_Adapter_Pdo_Mysql::truncate() * Else * Varien_Db_Adapter_Interface::isTableExists() * Varien_Db_Adapter_Interface::truncateTable() */ while ($table = current($salesEntitiesConf) ){ $table = $resource->getTableName($table); if ($executionPath == 'old') { $isTableExists = $connection->showTableStatus($table); } else { $isTableExists = $connection->isTableExists($table); } if ($isTableExists) { try { if ($executionPath == 'old') { $connection->truncate($table); } else { $connection->truncateTable($table); } printf('Successfully truncated the <i style="color:green;">%s</i> table.<br />', $table); } catch(Exception $e) { printf('Error <i style="color:red;">%s</i> occurred truncating the <i style="color:red;">%s</i> table.<br />', $e->getMessage(), $table); } } next($salesEntitiesConf); } exit('All done...');
腳本支持的magento版本: 1.6.1.0 CE, 1.6.0.0 CE, 1.5.1.0. CE, 1.11.0.2 EE, 1.10.0.2 EE, 1.9.0.0 EE, 1.11.0.0 PE, 1.10.0.2 PE and 1.9.0.0 PE.