如何删除在商店中创建的测试订单?我已经打开了数据库,但是找不到订单表。请帮助我删除订单。我正在使用Magento 2的更高版本。
如何删除在商店中创建的测试订单?我已经打开了数据库,但是找不到订单表。请帮助我删除订单。我正在使用Magento 2的更高版本。
Answers:
我建议您避免直接与SQL混淆。
您可以使用任何不错的扩展程序,例如Mageplaza
另一个选择是在根目录上创建脚本并以编程方式删除订单
您可以使用以下代码在根目录下创建文件:
<?php
ini_set('error_reporting', E_ALL);
ini_set("display_errors", "1");
use Magento\Framework\App\Bootstrap;
require 'app/bootstrap.php';
$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$registry = $objectManager->get('Magento\Framework\Registry');
$state = $objectManager->get('Magento\Framework\App\State');
$state->setAreaCode('frontend');
$ids = array(1,2,3,4); // your order_id
foreach ($ids as $id) {
$order = $objectManager->create('Magento\Sales\Model\Order')->load($id);
$registry->register('isSecureArea','true');
$order->delete();
$registry->unregister('isSecureArea');
echo "order deleted";
}
编辑我
如果要使用脚本删除订单,可以将上述代码放在magento的根文件夹中。之后,可以在浏览器中单击URL。
例如,您的magento安装在www.example.com上,文件名是deleteOrder.php
可以通过以下方式运行:
www.example.com/deleteOrder.php
如果要安装扩展程序,则需要
- Extract folder at [magentoRoot]/app/code
- Open terminal and run cd [magentoRoot] //change to root dir
- php bin/magento setup:upgrade
- php bin/magento cache:flush
- php bin/magento setup:static-content:deploy (only required in production mode)
您也可以在官方网站上找到文档
您可以按照以下SQL删除数据库中的所有订单,订单历史记录,装运,发票,贷项凭证,报价,报价项目:
SET FOREIGN_KEY_CHECKS=0;
#清除订单历史记录
TRUNCATE TABLE `sales_bestsellers_aggregated_daily`;
TRUNCATE TABLE `sales_bestsellers_aggregated_monthly`;
TRUNCATE TABLE `sales_bestsellers_aggregated_yearly`;
#清洁订单信息
TRUNCATE TABLE `sales_creditmemo`;
TRUNCATE TABLE `sales_creditmemo_comment`;
TRUNCATE TABLE `sales_creditmemo_grid`;
TRUNCATE TABLE `sales_creditmemo_item`;
TRUNCATE TABLE `sales_invoice`;
TRUNCATE TABLE `sales_invoiced_aggregated`;
TRUNCATE TABLE `sales_invoiced_aggregated_order`;
TRUNCATE TABLE `sales_invoice_comment`;
TRUNCATE TABLE `sales_invoice_grid`;
TRUNCATE TABLE `sales_invoice_item`;
TRUNCATE TABLE `sales_order`;
TRUNCATE TABLE `sales_order_address`;
TRUNCATE TABLE `sales_order_aggregated_created`;
TRUNCATE TABLE `sales_order_aggregated_updated`;
TRUNCATE TABLE `sales_order_grid`;
TRUNCATE TABLE `sales_order_item`;
TRUNCATE TABLE `sales_order_payment`;
TRUNCATE TABLE `sales_order_status_history`;
TRUNCATE TABLE `sales_order_tax`;
TRUNCATE TABLE `sales_order_tax_item`;
TRUNCATE TABLE `sales_payment_transaction`;
TRUNCATE TABLE `sales_refunded_aggregated`;
TRUNCATE TABLE `sales_refunded_aggregated_order`;
TRUNCATE TABLE `sales_shipment`;
TRUNCATE TABLE `sales_shipment_comment`;
TRUNCATE TABLE `sales_shipment_grid`;
TRUNCATE TABLE `sales_shipment_item`;
TRUNCATE TABLE `sales_shipment_track`;
TRUNCATE TABLE `sales_shipping_aggregated`;
TRUNCATE TABLE `sales_shipping_aggregated_order`;
TRUNCATE TABLE `quote`;
TRUNCATE TABLE `quote_address`;
TRUNCATE TABLE `quote_address_item`;
TRUNCATE TABLE `quote_id_mask`;
TRUNCATE TABLE `quote_item`;
TRUNCATE TABLE `quote_item_option`;
TRUNCATE TABLE `quote_payment`;
TRUNCATE TABLE `quote_shipping_rate`;
TRUNCATE TABLE sequence_invoice_1;
TRUNCATE TABLE sequence_order_1;
TRUNCATE TABLE sequence_shipment_1;
TRUNCATE TABLE sequence_creditmemo_1;
SET FOREIGN_KEY_CHECKS=1;
在执行上述操作之前,请备份数据库。
希望这会有所帮助。