以前の仕事のクライアントさんから、EC-CUBEの関係で相談を受けたので確認したところ、EC-CUBEの注文データは、管理者画面から削除をしてもデータベースには残り続けているという状態でした。
使っているデータベースはPostgreSQLで、phpPgAdminが使えるので、SQLが苦手な私でも簡単に確認出来ました。カットオーバー当初からの注文が全てデータベースには蓄積されていて、フラグにdel_flugというカラムに1が立つとEC-CUBEの管理画面には表示しない仕様の様ですね。この辺りのキーワードで検索すると沢山見つかりました。
クライアントさんとしては、管理画面で削除しているので消えてると思っていたそうですが、誤って削除した時の備えをするものですよね、システム開発屋としては。
EC-CUBEはインターネットに公開している事から、世界中の目に晒されている様なもの。個人情報の重要性から一度全て削除したいという要望なので、データベースから注文履歴を全て削除する事にしました。
phpPgAdminの操作で、mtb_orderとdtb_order_detailを「空にする」という操作で出来ました。「破棄」は恐らくテーブル構造が変更される危険な操作なのでしょう。データのみを消したいので空にするを実行しました。
キレイさっぱり消えたので情報漏洩等のリスクからも一安心です。
dtb_order:注文者の情報が含まれるので個人情報扱いなので削除した。
dtb_order_detail:受注した商品の情報が記録されるので個人情報含まない。
でもdtb_orderと関連付けが切れるので置いておいても仕方ないので削除した。
動作確認
一応、EC-CUBEの注文がきちんと動くか確認しておきます。
ダミー(テスト)注文を行うと、注文確認メールが届き、受注メールが管理者向けに届きます。そしてデータベースPostgreSQLにも注文情報が記録されるのを確認できました。
最後に
EC-CUBEに限らず、ショッピングサイトの個人情報は、一応データベースから削除出来る操作も管理者向けに欲しいものですね。もしかしたらEC-CUBEにも実装されているのかな?気付かなかったので直接DBを操作して消してしまいましたが・・まぁこの方法が確実でしょう。
コメント