EC-CUBEの受注データは削除してもデータベースに残っている~dtb_orderのdel_flugで管理されている

以前の仕事のクライアントさんから、EC-CUBEの関係で相談を受けたので確認したところ、EC-CUBEの注文データは、管理者画面から削除をしてもデータベースには残り続けているという状態でした。

使っているデータベースはPostgreSQLで、phpPgAdminが使えるので、SQLが苦手な私でも簡単に確認出来ました。カットオーバー当初からの注文が全てデータベースには蓄積されていて、フラグにdel_flugというカラムに1が立つとEC-CUBEの管理画面には表示しない仕様の様ですね。この辺りのキーワードで検索すると沢山見つかりました。

クライアントさんとしては、管理画面で削除しているので消えてると思っていたそうですが、誤って削除した時の備えをするものですよね、システム開発屋としては。

EC-CUBEはインターネットに公開している事から、世界中の目に晒されている様なもの。個人情報の重要性から一度全て削除したいという要望なので、データベースから注文履歴を全て削除する事にしました。

phpPgAdminの操作で、mtb_orderdtb_order_detailを「空にする」という操作で出来ました。「破棄」は恐らくテーブル構造が変更される危険な操作なのでしょう。データのみを消したいので空にするを実行しました。

キレイさっぱり消えたので情報漏洩等のリスクからも一安心です。

dtb_order:注文者の情報が含まれるので個人情報扱いなので削除した。

dtb_order_detail:受注した商品の情報が記録されるので個人情報含まない。
でもdtb_orderと関連付けが切れるので置いておいても仕方ないので削除した。

動作確認

一応、EC-CUBEの注文がきちんと動くか確認しておきます。

ダミー(テスト)注文を行うと、注文確認メールが届き、受注メールが管理者向けに届きます。そしてデータベースPostgreSQLにも注文情報が記録されるのを確認できました。

最後に

EC-CUBEに限らず、ショッピングサイトの個人情報は、一応データベースから削除出来る操作も管理者向けに欲しいものですね。もしかしたらEC-CUBEにも実装されているのかな?気付かなかったので直接DBを操作して消してしまいましたが・・まぁこの方法が確実でしょう。

コメントを残す