Magento 2:データベースから注文を削除する方法


10

ストアで作成したテスト注文を削除するにはどうすればよいですか?データベースを開きましたが、注文テーブルが見つかりませんでした。注文の削除を手伝ってください。Magento 2の新しいバージョンを使用しています。

回答:


8

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";

}

編集I

スクリプトを使用して注文を削除する場合は、上記のコードを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)

公式サイトでもドキュメントを見つけることができます


しかし、それは無料ではありませんよね?
Elisha Senoo

私が共有したモジュールは無料です。モジュールに行きたくない場合は、1回限りのスクリプトを使用してください。
Pawan 2018

ダミー注文を削除すると、その拡張子を使用することはほとんどないためです。
Pawan 2018

@ElishaSenooへようこそ。モジュールまたはスクリプトを使用しますか?
Pawan 2018

とりあえずモジュールに行きます。
Elisha Senoo

4

次の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`;

インデックスをリセットします(注文番号を1に戻したい場合)

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;

上記を行う前に、データベースのバックアップを取ってください。

これがお役に立てば幸いです。


すべてではなく特定の注文を削除したい場合はどうなりますか?
Elisha Senoo

それらのエンティティIDを確認し、それに応じて削除します。また、拡張機能を使用したい場合は、github.com / mageplaza / magento
Sukumar

拡張機能が無料であることを願っていますか?
Elisha Senoo

拡張URLはGitHubからのものです。ダウンロードは無料です。
Sukumar Gorai

私はそれを見ました、私は確かにしたかっただけです。ありがとう
Elisha Senoo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.