2019年4月2日カテゴリー:

EC-CUBE3データ移行:受注データ(MySQL)

 

 

EC-CUBE3→EC-CUBE3機能カスタマイズ版

機能カスタマイズ版はインストールと同時に機能が実装されます。
詳しくは↓こちらをご覧ください。
EC-CUBE3機能カスタマイズ版 
EC-CUBE4機能カスタマイズ版

Ⅰ 移行元の操作

各テーブルのsqlをダウンロード(エクスポート)します。
—————————————-
① dtb_order
② dtb_order_detail
③ dtb_shipment_item
④ dtb_shipping
—————————————-

Ⅱ 移行先の操作

1 dtb_order

外部キー制約あり。

dtb_shipping
① Constraint properties→「FK_2EBD22CE8D9F6D38」
② カラム→「order_id」

dtb_mail_history
① Constraint properties→「FK_4870AB118D9F6D38」
② カラム→「order_id」

dtb_order_detail
① Constraint properties→「FK_58FE35738D9F6D38」
② カラム→「order_id」

dtb_shipment_item
① Constraint properties→「FK_57C3C0398D9F6D38」
② カラム→「order_id」
(1)下記SQLを実行して外部キーを削除する。

[php]
ALTER TABLE dtb_shipping DROP FOREIGN KEY FK_2EBD22CE8D9F6D38;
ALTER TABLE dtb_mail_history DROP FOREIGN KEY FK_4870AB118D9F6D38;
ALTER TABLE dtb_order_detail DROP FOREIGN KEY FK_58FE35738D9F6D38;
ALTER TABLE dtb_shipment_item DROP FOREIGN KEY FK_57C3C0398D9F6D38;
[/php]

(2)dtb_orderーブルを空にする。

(3)sqlをインポートする。アップロードファイル→参照、「実行」をクリック。

(4)下記SQLを実行して参照元テーブル「dtb_product_category」に外部キーを復元する。

[php]
DELETE FROM dtb_shipping WHERE order_id NOT IN( SELECT order_id FROM dtb_order );
DELETE FROM dtb_mail_history WHERE order_id NOT IN( SELECT order_id FROM dtb_order );
DELETE FROM dtb_order_detail WHERE order_id NOT IN( SELECT order_id FROM dtb_order );
DELETE FROM dtb_shipment_item WHERE order_id NOT IN( SELECT order_id FROM dtb_order );

ALTER TABLE dtb_shipping ADD CONSTRAINT FK_2EBD22CE8D9F6D38 FOREIGN KEY (order_id) REFERENCES dtb_order (order_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_mail_history ADD CONSTRAINT FK_4870AB118D9F6D38 FOREIGN KEY (order_id) REFERENCES dtb_order (order_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_order_detail ADD CONSTRAINT FK_58FE35738D9F6D38 FOREIGN KEY (order_id) REFERENCES dtb_order (order_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_shipment_item ADD CONSTRAINT FK_57C3C0398D9F6D38 FOREIGN KEY (order_id) REFERENCES dtb_order (order_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
[/php]

2 dtb_order_detail

外部キー制約なし

(1)空にする。

(2)sqlインポート

3 dtb_shipment_item

自身に設定されている外部キー制約を削除する。

dtb_shipping
・Constraint properties→「FK_57C3C0394887F3F8」
・カラム→「shipping_id」

(1)下記SQLを実行して外部キーを削除する。

[php]
ALTER TABLE dtb_shipment_item DROP FOREIGN KEY FK_57C3C0394887F3F8;
[/php]

(2)dtb_shipment_itemテーブルを空にする。

(3)sqlをインポートする。アップロードファイル→参照、「実行」をクリック。

(4)下記SQLを実行して自身のテーブルに外部キーを復元する。

[php]
DELETE FROM dtb_shipment_item WHERE shipping_id NOT IN( SELECT shipping_id FROM dtb_shipping );

ALTER TABLE dtb_shipment_item ADD CONSTRAINT FK_57C3C0394887F3F8 FOREIGN KEY (shipping_id) REFERENCES dtb_shipping (shipping_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
[/php]

4 dtb_shipping

外部キー制約あり。

dtb_shipment_item
① Constraint properties→「FK_A0C8C3ED4887F3F8」
② カラム→「shipping_id」

(1)下記SQLを実行して外部キーを削除する。

[php]
ALTER TABLE dtb_shipment_item DROP FOREIGN KEY FK_57C3C0394887F3F8;
[/php]

(2)dtb_shippingテーブルを空にする。

(3)sqlをインポートする。アップロードファイル→参照、「実行」をクリック。

(4)下記SQLを実行して参照元テーブルに外部キーを復元する。

[php]
DELETE FROM dtb_shipment_item WHERE shipping_id NOT IN( SELECT shipping_id FROM dtb_shipping );

ALTER TABLE dtb_shipment_item ADD CONSTRAINT FK_57C3C0394887F3F8 FOREIGN KEY (shipping_id) REFERENCES dtb_shipping (shipping_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
[/php]