EC-CUBE4で「受注」「商品」「会員」のデータを初期化する方法をご紹介いたします。
商品登録や注文をテストで実施して、後で諸々のデータを消して納品したいというケースは多いと思いますので、データを初期化する方法を覚えておくと便利です。
EC-CUBE4で「受注」「商品」「会員」のデータを初期化する方法
今回初期化を実施した環境は、EC-CUBE4.0.2です。今後バージョンアップによって、テーブルの構造が若干変わる可能性もありますのでご注意ください。
また、データベースを直接操作しますので、実行前に必ずバックアップを取っておきましょう。
受注データの初期化
受注データを初期化するには、データベースにアクセスして、以下のSQL文を実行します。
TRUNCATE TABLE dtb_order_item;
TRUNCATE TABLE dtb_mail_history;
TRUNCATE TABLE dtb_shipping;
TRUNCATE TABLE dtb_order;
ALTER TABLE dtb_order AUTO_INCREMENT = 1;
dtb_order_item・dtb_mail_history・dtb_shipping・dtb_orderテーブルの中身が空になります。
また、最後の「ALTER TABLE dtb_order AUTO_INCREMENT = 1;」を実行することで、受注IDもリセットされて1から割り振られるようになります。
商品データの初期化
商品データを初期化するには、以下のSQL文を実行します。
TRUNCATE TABLE dtb_cart_item;
TRUNCATE TABLE dtb_cart;
TRUNCATE TABLE dtb_customer_favorite_product;
TRUNCATE TABLE dtb_product_tag;
TRUNCATE TABLE dtb_product_stock;
TRUNCATE TABLE dtb_product_image;
TRUNCATE TABLE dtb_product_class;
TRUNCATE TABLE dtb_product_category;
TRUNCATE TABLE dtb_product;
ALTER TABLE dtb_product AUTO_INCREMENT = 1;
dtb_cart_item・dtb_cart・dtb_customer_favorite_product・dtb_product_tag・dtb_product_stock・dtb_product_image・dtb_product_class・dtb_product_category・dtb_productテーブルの中身が空になります。
dtb_customer_favorite_product(お気に入り)は会員データの一部ではありますが、商品データを初期化するためには、お気に入りに入っている商品も削除してあげる必要があります。
こちらも最後の「ALTER TABLE dtb_product AUTO_INCREMENT = 1;」で商品IDの割振りがリセットされます。
また、規格やカテゴリも削除する場合は、以下も実行します。
TRUNCATE TABLE dtb_class_category;
TRUNCATE TABLE dtb_class_name;
TRUNCATE TABLE dtb_category;
TRUNCATE TABLE dtb_tag;
ALTER TABLE dtb_class_category AUTO_INCREMENT = 1;
ALTER TABLE dtb_class_name AUTO_INCREMENT = 1;
ALTER TABLE dtb_category AUTO_INCREMENT = 1;
ALTER TABLE dtb_tag AUTO_INCREMENT = 1;
dtb_class_categoryが規格の分類、dtb_class_nameが規格、dtb_categoryがカテゴリ、dtb_tagがタグのテーブルです。
最後の4行(ALTER TABLE)でIDもリセットしています。
会員データの初期化
会員データを初期化するには、以下のSQL文を実行します。
TRUNCATE TABLE dtb_customer;
ALTER TABLE dtb_customer AUTO_INCREMENT = 1;
dtb_customer_address・dtb_customerテーブルの中身が空になります。
他と同じように、最後の「ALTER TABLE dtb_customer AUTO_INCREMENT = 1;」で会員IDの割振りがリセットされます。
あとがき
受注・商品・会員の初期化は、それぞれ空にしなければいけないテーブルが異なるので、初期化したい箇所の分だけSQL文を実行してあげればOKです。
ちなみに、EC-CUBE2系の商品データを初期化する方法は、こちらの記事で紹介しています。