web-dev-qa-db-ja.com

注文の一括削除

テストの注文がたくさんあります。それらを削除したいと思います。 Ubercartモジュールをアンインストール/インストールせずにすべての注文を一括削除する方法はありますか?

明らかに、最初に単純なdrush sql-dumpを使用してデータベースをバックアップします。

4
chrisjlee

あなたが本当にあなたが何をしているかを知らない限り、私はあなたにデータベースをいじることをやめさせるでしょう。 APIと関数 uc_order_delete() を使用することをお勧めします。

このスクリプト例をご覧ください。

<?php
  include_once './includes/bootstrap.inc';
  drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

  global $user;

  if ($user->uid == 1) {
    $result = db_query("select order_id from uc_orders");
    while($row = db_fetch_object($result)){
      //# uncomment below to view an order and exit
      //# usefull to write a query to only delete certain orders
      //print_r($row);
      //exit;
      print "deleting order $row->order_id\n";
      uc_order_delete($row->order_id); // comment this out for testing
    }
  } else {
    print "Only Administrater could deleter orders.";
  }
?>

出典: bercartのすべての注文を削除

5
tostinni

Views Bulk Operations(VBO) モジュールで作成されたビューを使用して、注文を削除できます。

このモジュールは、表示された行に対して一括操作を実行できるようにすることで、ビューを拡張します。これは、各ノードの前にチェックボックスを表示し、適用可能な操作を含む選択ボックスを追加することによって行われます。 Drupalコアアクションまたはルールアクションを使用できます。

4
Edd