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を実行して外部キーを削除する。

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`;

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

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

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

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;

2 dtb_order_detail

外部キー制約なし

(1)空にする。

(2)sqlインポート

3 dtb_shipment_item

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

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

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

ALTER TABLE dtb_shipment_item DROP FOREIGN KEY `FK_57C3C0394887F3F8`;

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

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

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

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;

4 dtb_shipping

外部キー制約あり。

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

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

ALTER TABLE dtb_shipment_item DROP FOREIGN KEY `FK_57C3C0394887F3F8`;

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

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

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

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;

 

EC-CUBE3データ移行:会員データ・管理者データ(MySQL)

 

 

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

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

※ ログイン暗号情報を移行するため、管理者のデータも移行する。

Ⅰ 移行元の操作

各テーブルのsqlをダウンロード(エクスポート)します。
—————————————-
① dtb_customer
② dtb_customer_address
③ dtb_customer_favorite_product
④ dtb_mail_history
⑤ dtb_member
—————————————-

Ⅱ 移行先の操作

1 dtb_customer

外部キー制約あり。

dtb_order
① Constraint properties→「FK_1D66D8079395C3F3」
② カラム→「customer_id」

dtb_customer_address
① Constraint properties→「FK_6C38C0F89395C3F3」
② カラム→「customer_id」

dtb_customer_favorite_product
① Constraint properties→「FK_ED6313839395C3F3」
② カラム→「customer_id」

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

ALTER TABLE dtb_order DROP FOREIGN KEY `FK_1D66D8079395C3F3`;
ALTER TABLE dtb_customer_address DROP FOREIGN KEY `FK_6C38C0F89395C3F3`;
ALTER TABLE dtb_customer_favorite_product DROP FOREIGN KEY `FK_ED6313839395C3F3`;

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

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

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

DELETE FROM dtb_order WHERE customer_id NOT IN( SELECT customer_id FROM dtb_customer );
DELETE FROM dtb_customer_address WHERE customer_id NOT IN( SELECT customer_id FROM dtb_customer );
DELETE FROM dtb_customer_favorite_product WHERE customer_id NOT IN( SELECT customer_id FROM dtb_customer );

ALTER TABLE dtb_order ADD CONSTRAINT FK_1D66D8079395C3F3 FOREIGN KEY (customer_id) REFERENCES dtb_customer (customer_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_customer_address ADD CONSTRAINT FK_6C38C0F89395C3F3 FOREIGN KEY (customer_id) REFERENCES dtb_customer (customer_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_customer_favorite_product ADD CONSTRAINT FK_ED6313839395C3F3 FOREIGN KEY (customer_id) REFERENCES dtb_customer (customer_id) ON DELETE RESTRICT ON UPDATE RESTRICT;

2 dtb_customer_address

外部キー制約なし

(1)空にする。

(2)sqlインポート

3 dtb_customer_favorite_product

外部キー制約なし

(1)空にする。

(2)sqlインポート

4 dtb_mail_history

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

dtb_order
・Constraint properties→「FK_4870AB118D9F6D38」
・カラム→「order_id」

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

ALTER TABLE dtb_mail_history DROP FOREIGN KEY `FK_4870AB118D9F6D38`;

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

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

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

DELETE FROM dtb_mail_history WHERE order_id NOT IN( SELECT order_id FROM dtb_order );

ALTER TABLE dtb_mail_history ADD CONSTRAINT FK_4870AB118D9F6D38 FOREIGN KEY (order_id) REFERENCES dtb_order (order_id) ON DELETE RESTRICT ON UPDATE RESTRICT;

5 dtb_member

外部キー制約あり。

dtb_faq
① Constraint properties→「FK_15046F5861220EA6」
② カラム→「creator_id」

dtb_class_name
① Constraint properties→「FK_187C95AD61220EA6」
② カラム→「creator_id」

dtb_product_class
① Constraint properties→「FK_1A11D1BA61220EA6」
② カラム→「creator_id」

dtb_mail_template
① Constraint properties→「FK_1CB16DB261220EA6」
② カラム→「creator_id」

dtb_ticker
① Constraint properties→「FK_1E9BC90861220EA6」
② カラム→「creator_id」

dtb_product_image
① Constraint properties→「FK_3267CC7A61220EA6」
② カラム→「creator_id」

dtb_delivery
① Constraint properties→「FK_3420D9FA61220EA6」
② カラム→「creator_id」

dtb_topimage
① Constraint properties→「FK_3B5AB76661220EA6」
② カラム→「creator_id」

dtb_lp
① Constraint properties→「FK_4177A97261220EA6」
② カラム→「creator_id」

dtb_product_tag
① Constraint properties→「FK_4433E72161220EA6」
② カラム→「creator_id」

dtb_mail_history
① Constraint properties→「FK_4870AB1161220EA6」
② カラム→「creator_id」

dtb_authority_role
① Constraint properties→「FK_4A1F70B161220EA6」
② カラム→「creator_id」

dtb_category
① Constraint properties→「FK_5ED2C2B61220EA6」
② カラム→「creator_id」

dtb_payment
① Constraint properties→「FK_7AFF628F61220EA6」
② カラム→「creator_id」

dtb_class_category
① Constraint properties→「FK_9B0D1DBA61220EA6」
② カラム→「creator_id」

dtb_product_stock
① Constraint properties→「FK_BC6C9E4561220EA6」
② カラム→「creator_id」

dtb_product
① Constraint properties→「FK_C49DE22F61220EA6」
② カラム→「creator_id」

dtb_news
① Constraint properties→「FK_EA4C351761220EA6」
② カラム→「creator_id」

dtb_csv
① Constraint properties→「FK_F55F48C361220EA6」
② カラム→「creator_id」

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

ALTER TABLE dtb_faq DROP FOREIGN KEY `FK_15046F5861220EA6`;
ALTER TABLE dtb_class_name DROP FOREIGN KEY `FK_187C95AD61220EA6`;
ALTER TABLE dtb_product_class DROP FOREIGN KEY `FK_1A11D1BA61220EA6`;
ALTER TABLE dtb_mail_template DROP FOREIGN KEY `FK_1CB16DB261220EA6`;
ALTER TABLE dtb_ticker DROP FOREIGN KEY `FK_1E9BC90861220EA6`;
ALTER TABLE dtb_product_image DROP FOREIGN KEY `FK_3267CC7A61220EA6`;
ALTER TABLE dtb_delivery DROP FOREIGN KEY `FK_3420D9FA61220EA6`;
ALTER TABLE dtb_topimage DROP FOREIGN KEY `FK_3B5AB76661220EA6`;
ALTER TABLE dtb_lp DROP FOREIGN KEY `FK_4177A97261220EA6`;
ALTER TABLE dtb_product_tag DROP FOREIGN KEY `FK_4433E72161220EA6`;
ALTER TABLE dtb_mail_history DROP FOREIGN KEY `FK_4870AB1161220EA6`;
ALTER TABLE dtb_authority_role DROP FOREIGN KEY `FK_4A1F70B161220EA6`;
ALTER TABLE dtb_tax_rule DROP FOREIGN KEY `FK_59F696DE61220EA6`;
ALTER TABLE dtb_category DROP FOREIGN KEY `FK_5ED2C2B61220EA6`;
ALTER TABLE dtb_payment DROP FOREIGN KEY `FK_7AFF628F61220EA6`;
ALTER TABLE dtb_class_category DROP FOREIGN KEY `FK_9B0D1DBA61220EA6`;
ALTER TABLE dtb_product_stock DROP FOREIGN KEY `FK_BC6C9E4561220EA6`;
ALTER TABLE dtb_product DROP FOREIGN KEY `FK_C49DE22F61220EA6`;
ALTER TABLE dtb_news DROP FOREIGN KEY `FK_EA4C351761220EA6`;
ALTER TABLE dtb_csv DROP FOREIGN KEY `FK_F55F48C361220EA6`;

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

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

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

DELETE FROM dtb_faq WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );
DELETE FROM dtb_class_name WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );
DELETE FROM dtb_product_class WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );
DELETE FROM dtb_mail_template WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );
DELETE FROM dtb_ticker WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );
DELETE FROM dtb_product_image WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );
DELETE FROM dtb_delivery WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );
DELETE FROM dtb_topimage WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );
DELETE FROM dtb_lp WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );
DELETE FROM dtb_product_tag WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );
DELETE FROM dtb_mail_history WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );
DELETE FROM dtb_authority_role WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );
DELETE FROM dtb_tax_rule WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );
DELETE FROM dtb_category WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );
DELETE FROM dtb_payment WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );
DELETE FROM dtb_class_category WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );
DELETE FROM dtb_product_stock WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );
DELETE FROM dtb_product WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );
DELETE FROM dtb_news WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );
DELETE FROM dtb_csv WHERE creator_id NOT IN( SELECT member_id FROM dtb_member );

ALTER TABLE dtb_faq ADD CONSTRAINT FK_15046F5861220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_class_name ADD CONSTRAINT FK_187C95AD61220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_product_class ADD CONSTRAINT FK_1A11D1BA61220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_mail_template ADD CONSTRAINT FK_1CB16DB261220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_ticker ADD CONSTRAINT FK_1E9BC90861220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_product_image ADD CONSTRAINT FK_3267CC7A61220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_delivery ADD CONSTRAINT FK_3420D9FA61220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_topimage ADD CONSTRAINT FK_3B5AB76661220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_lp ADD CONSTRAINT FK_4177A97261220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_product_tag ADD CONSTRAINT FK_4433E72161220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_mail_history ADD CONSTRAINT FK_4870AB1161220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_authority_role ADD CONSTRAINT FK_4A1F70B161220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_tax_rule ADD CONSTRAINT FK_59F696DE61220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_category ADD CONSTRAINT FK_5ED2C2B61220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_payment ADD CONSTRAINT FK_7AFF628F61220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_class_category ADD CONSTRAINT FK_9B0D1DBA61220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_product_stock ADD CONSTRAINT FK_BC6C9E4561220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_product ADD CONSTRAINT FK_C49DE22F61220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_news ADD CONSTRAINT FK_EA4C351761220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_csv ADD CONSTRAINT FK_F55F48C361220EA6 FOREIGN KEY (creator_id) REFERENCES dtb_member (member_id) ON DELETE RESTRICT ON UPDATE RESTRICT;

6 移行元のパスワードでログインできるようにする

(1)移行元、生成されている「app/config/eccube/config.yml」をダウンロード
(2)auth_magic:*************************←コピー
(3)移行先、生成されている「app/config/eccube/config.yml」をダウンロード
(4)auth_magic:*************************←ペーストして、アップロード

つまり、移行元のauth_magicを移行先のauth_magicで使用するということです。

 

EC-CUBE3データ移行:カテゴリデータ・商品データ(MySQL)

 

 

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

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

Ⅰ 移行元の操作

(1)まずは、商品画像を移行先にコピーします。

・移行元/html/upload/save_image/ から画像をダウンロードします。
・移行先/html/upload/save_image/ にアップロード(コピーします)

(2)各テーブルのsqlをダウンロード(エクスポート)します。
—————————————-
① dtb_category
② dtb_category_count
③ dtb_category_total_count
④ dtb_class_category
⑤ dtb_class_name
⑥ dtb_product
⑦ dtb_product_category
⑧ dtb_product_class
⑨ dtb_product_image
⑩ dtb_product_stock
⑪ dtb_product_tag
—————————————-

Ⅱ 移行先の操作

1 dtb_category

外部キー制約あり。

dtb_product_category
① Constraint properties→「FK_B057789112469DE2」
② カラム→「category_id」

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

ALTER TABLE dtb_product_category DROP FOREIGN KEY `FK_B057789112469DE2`;

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

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

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

DELETE FROM dtb_product_category WHERE category_id NOT IN( SELECT category_id FROM dtb_category );
ALTER TABLE dtb_product_category ADD CONSTRAINT FK_B057789112469DE2 FOREIGN KEY (category_id) REFERENCES dtb_category (category_id) ON DELETE RESTRICT ON UPDATE RESTRICT;

2 dtb_category_count

外部キー制約なし

(1)空にする。

(2)sqlインポート

3 dtb_category_total_count

外部キー制約なし

(1)空にする。

(2)sqlインポート

4 dtb_class_category

外部キー制約あり。

dtb_product_class

① Constraint properties→「FK_1A11D1BA248D128」
② カラム→「class_category_id1」

③ Constraint properties→「FK_1A11D1BA9B418092」
④ カラム→「class_category_id2」

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

ALTER TABLE dtb_product_class DROP FOREIGN KEY `FK_1A11D1BA248D128`;
ALTER TABLE dtb_product_class DROP FOREIGN KEY `FK_1A11D1BA9B418092`;

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

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

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

DELETE FROM dtb_product_class WHERE class_category_id1 NOT IN( SELECT class_category_id FROM dtb_class_category );
DELETE FROM dtb_product_class WHERE class_category_id2 NOT IN( SELECT class_category_id FROM dtb_class_category );

ALTER TABLE dtb_product_class ADD CONSTRAINT FK_1A11D1BA248D128 FOREIGN KEY (class_category_id1) REFERENCES dtb_class_category (class_category_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_product_class ADD CONSTRAINT FK_1A11D1BA9B418092 FOREIGN KEY (class_category_id2) REFERENCES dtb_class_category (class_category_id) ON DELETE RESTRICT ON UPDATE RESTRICT;

5 dtb_class_name

外部キー制約あり。

dtb_class_category
① Constraint properties→「FK_9B0D1DBAB462FB2A」
② カラム→「class_name_id」

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

ALTER TABLE dtb_class_category DROP FOREIGN KEY `FK_9B0D1DBAB462FB2A`;

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

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

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

DELETE FROM dtb_class_category WHERE class_name_id NOT IN( SELECT class_name_id FROM dtb_class_name );

ALTER TABLE dtb_class_category ADD CONSTRAINT FK_9B0D1DBAB462FB2A FOREIGN KEY (class_name_id) REFERENCES dtb_class_name (class_name_id) ON DELETE RESTRICT ON UPDATE RESTRICT;

6 dtb_product

外部キー制約あり。

*********************************
① dtb_product_class
・Constraint properties→「FK_1A11D1BA4584665A」
・カラム→「product_id」

② dtb_product_image
・Constraint properties→「FK_3267CC7A4584665A」
・カラム→「product_id」

③ dtb_product_tag
・Constraint properties→「FK_4433E7214584665A」
・カラム→「product_id」

④  dtb_tax_rule
・Constraint properties→「FK_59F696DE4584665A」
・カラム→「product_id」

⑤ dtb_product_category
・Constraint properties→「FK_B05778914584665A」
・カラム→「product_id」

⑥ dtb_customer_favorite_product
・Constraint properties→「FK_ED6313834584665A」
・カラム→「product_id」

⑦ dtb_shipment_item
・Constraint properties→「FK_57C3C0394584665A」
・カラム→「product_id」

⑧ dtb_order_detail
・Constraint properties→「FK_58FE35734584665A」
・カラム→「product_id」

*********************************

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

ALTER TABLE dtb_product_class DROP FOREIGN KEY `FK_1A11D1BA4584665A`;
ALTER TABLE dtb_product_image DROP FOREIGN KEY `FK_3267CC7A4584665A`;
ALTER TABLE dtb_product_tag DROP FOREIGN KEY `FK_4433E7214584665A`;
ALTER TABLE dtb_tax_rule DROP FOREIGN KEY `FK_59F696DE4584665A`;
ALTER TABLE dtb_product_category DROP FOREIGN KEY `FK_B05778914584665A`;
ALTER TABLE dtb_customer_favorite_product DROP FOREIGN KEY `FK_ED6313834584665A`;
ALTER TABLE dtb_shipment_item DROP FOREIGN KEY `FK_57C3C0394584665A`;
ALTER TABLE dtb_order_detail DROP FOREIGN KEY `FK_58FE35734584665A`;

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

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

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

DELETE FROM dtb_product_class WHERE product_id NOT IN( SELECT product_id FROM dtb_product );
DELETE FROM dtb_product_image WHERE product_id NOT IN( SELECT product_id FROM dtb_product );
DELETE FROM dtb_product_tag WHERE product_id NOT IN( SELECT product_id FROM dtb_product );
DELETE FROM dtb_product_tag WHERE product_id NOT IN( SELECT product_id FROM dtb_product );
DELETE FROM dtb_product_category WHERE product_id NOT IN( SELECT product_id FROM dtb_product );
DELETE FROM dtb_customer_favorite_product WHERE product_id NOT IN( SELECT product_id FROM dtb_product );
DELETE FROM dtb_shipment_item WHERE product_id NOT IN( SELECT product_id FROM dtb_product );
DELETE FROM dtb_order_detail WHERE product_id NOT IN( SELECT product_id FROM dtb_product );
ALTER TABLE dtb_product_class ADD CONSTRAINT FK_1A11D1BA4584665A FOREIGN KEY (product_id) REFERENCES dtb_product (product_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_product_image ADD CONSTRAINT FK_3267CC7A4584665A FOREIGN KEY (product_id) REFERENCES dtb_product (product_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_product_tag ADD CONSTRAINT FK_4433E7214584665A FOREIGN KEY (product_id) REFERENCES dtb_product (product_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_product_tag ADD CONSTRAINT FK_59F696DE4584665A FOREIGN KEY (product_id) REFERENCES dtb_product (product_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_product_category ADD CONSTRAINT FK_B05778914584665A FOREIGN KEY (product_id) REFERENCES dtb_product (product_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_customer_favorite_product ADD CONSTRAINT FK_ED6313834584665A FOREIGN KEY (product_id) REFERENCES dtb_product (product_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_shipment_item ADD CONSTRAINT FK_57C3C0394584665A FOREIGN KEY (product_id) REFERENCES dtb_product (product_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_order_detail ADD CONSTRAINT FK_58FE35734584665A FOREIGN KEY (product_id) REFERENCES dtb_product (product_id) ON DELETE RESTRICT ON UPDATE RESTRICT;

7 dtb_product_category

外部キー制約なし

(1)空にする。

(2)sqlインポート

8 dtb_product_class

外部キー制約あり。

① dtb_tax_rule
・Constraint properties→「FK_59F696DE21B06187」
・カラム→「product_class_id」

④ dtb_product_stock
・Constraint properties→「FK_BC6C9E4521B06187」
・カラム→「product_class_id」

④ dtb_shipment_item
・Constraint properties→「FK_57C3C03921B06187」
・カラム→「product_class_id」

④ dtb_order_detail
・Constraint properties→「FK_58FE357321B06187」
・カラム→「product_class_id」

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

ALTER TABLE dtb_tax_rule DROP FOREIGN KEY `FK_59F696DE21B06187`;
ALTER TABLE dtb_product_stock DROP FOREIGN KEY `FK_BC6C9E4521B06187`;
ALTER TABLE dtb_shipment_item DROP FOREIGN KEY `FK_57C3C03921B06187`;
ALTER TABLE dtb_order_detail DROP FOREIGN KEY `FK_58FE357321B06187`;

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

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

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

DELETE FROM dtb_tax_rule WHERE product_class_id NOT IN( SELECT product_class_id FROM dtb_product_class );
DELETE FROM dtb_product_stock WHERE product_class_id NOT IN( SELECT product_class_id FROM dtb_product_class );
DELETE FROM dtb_shipment_item WHERE product_class_id NOT IN( SELECT product_class_id FROM dtb_product_class );
DELETE FROM dtb_order_detail WHERE product_class_id NOT IN( SELECT product_class_id FROM dtb_product_class );
ALTER TABLE dtb_tax_rule ADD CONSTRAINT FK_59F696DE21B06187 FOREIGN KEY (product_class_id) REFERENCES dtb_product_class (product_class_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_product_stock ADD CONSTRAINT FK_BC6C9E4521B06187 FOREIGN KEY (product_class_id) REFERENCES dtb_product_class (product_class_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_shipment_item ADD CONSTRAINT FK_57C3C03921B06187 FOREIGN KEY (product_class_id) REFERENCES dtb_product_class (product_class_id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_order_detail ADD CONSTRAINT FK_58FE357321B06187 FOREIGN KEY (product_class_id) REFERENCES dtb_product_class (product_class_id) ON DELETE RESTRICT ON UPDATE RESTRICT;

9 dtb_product_image

外部キー制約なし

(1)空にする。

(2)sqlインポート

10 dtb_product_stock

外部キー制約なし

(1)空にする。

(2)sqlインポート

11 dtb_product_tag

外部キー制約なし

(1)空にする。

(2)sqlインポート

 

EC-CUBE3データ移行:phpMyAdminの基本操作

 

 

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

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

移行元のsqlをダウンロード

001 (1)移行元テーブル(dtb_AAA)の「エクスポート」タブをクリック。(2)エクスポート方法の「詳細」をチェックする。(3)フォーマット特有のオプションで、「データ」をチェックする。

(4)「実行」をクリックしてダウンロードする。

カスタマイズ版のテーブルを空にして、移行元のCSVをインポート

002 (1)空にするテーブル(dtb_AAA)の「操作」タブをクリック、「テーブルを空にする」をクリック。
 003  (2)エラーが発生する場合(エラーなしの場合は→(8)へ)
外部キー制約が設定されているテーブルは空に出来ないのでエラーが発生。
エラー画面で表示されている参照元テーブル(dtb_product_category)を確認する。
 004 (3)参照元テーブル(dtb_product_category)を開く。
(4)「構造」タブをクリック、タブのすぐ下「Relation view」をクリックすると外部キー制約が確認できる。
(5)外部キー制約欄の「空にするテーブル(dtb_category)」の以下をコピーしておく。
① Constraint properties→「FK_B057789112469DE2」
② カラム→「category_id」
 005  (6)下記SQLを実行して外部キーを削除する。

ALTER TABLE dtb_product_category DROP FOREIGN KEY `FK_B057789112469DE2`;
 002  (7)空にするテーブル(dtb_category)の「操作」タブをクリック、「テーブルを空にする」をクリック。
 006  (8)CSVをインポートする。アップロードファイル→参照、「実行」をクリック。
 007  (9)下記SQLを実行して参照元テーブル(dtb_product_category)に外部キーを復元する。

DELETE FROM dtb_product_category WHERE category_id NOT IN( SELECT category_id FROM dtb_category );
ALTER TABLE dtb_product_category ADD CONSTRAINT FK_B057789112469DE2 FOREIGN KEY (category_id) REFERENCES dtb_category (category_id) ON DELETE RESTRICT ON UPDATE RESTRICT;

 

EC-CUBE3:商品をカレンダーに表示する

このカスタマイズを現行サイトへ実装したい方はこちら

カスタマイズ内容

・カレンダーはブロックとして配置します。
・カレンダーは、jQueryプラグイン「Zabuto Calendar」を利用しています。
・商品登録に「カレンダー日付」欄が設置されます。「カレンダー日付」欄が登録されていれば、カレンダーに表示されます。
・商品登録に「販売終了日時」欄が設置されます。「販売終了日時」を過ぎると、カートボタンは表示されません。
・商品ページ(詳細・一覧)に「カレンダー日付」と「販売終了日時」が表示されます。
・商品一覧ページでは、「カレンダー日付順」(昇順)で並び替えることができます。
・1日に登録できる商品は1点だけです。1日に複数の商品を登録することはできません。
・管理画面の商品マスターに検索条件「カレンダー日付」が追加され、「カレンダー日付」で検索した場合、検索結果では商品が「カレンダー日付」順(昇順)に並びます。
・モーダルウィンドウの項目の表示・非表示は、管理画面のショップマスターで指定できます。

商品のカレンダー表示

・1日に登録できる商品は1点だけです。1日に複数の商品を登録することはできません。

001

続きを読む EC-CUBE3:商品をカレンダーに表示する

EC-CUBE3.0.16→3.0.17バージョンアップ

バージョンアップの方法

順番通りに行わないと、画面が真っ白になるなどの不具合が発生するので注意して下さい。
不具合が発生した場合は、(1)のファイルを削除し、(2)のApplication.phpを以前のファイルに戻すと回復します。
しばらく時間をおき、再度、順番通りの手順でアップロードを行って下さい。

(1)まずは、次の新規ファイルを追加します。(フォルダとファイルのパーミッションがサーバ指定のものになっているか確認して下さい)

■src/Eccube/Security/Http/Authentication/EccubeAuthenticationFailureHandler.php
■src/Eccube/Security/Http/Authentication/EccubeAuthenticationSuccessHandler.php

ここで一旦、ページが表示されるか確認してください。
ブラウザの更新等を行うといいでしょう。

(2)下記ファイルを上書きします。念のため、上書き前のファイルをバックアップしてください。

■src/Eccube/Application.php

上書き後、ページが表示されるか確認してください。
問題なければ、これで脆弱性に関するアップデートは完了です。

(3)バージョン3.0.17へアップデート

下記ファイルをアップロードしてください。
③の.htaccess(★印)は、サーバによっては不要な場合があります。
現在、サーバに、html/.htaccessが存在しない場合は、アップロードしないでください。

①■.htaccess.sample
②■composer.json
③■html/.htaccess★
④■src/Eccube/Common/Constant.php
⑤■src/Eccube/Controller/Admin/AdminController.php
⑥■src/Eccube/Controller/Admin/Setting/System/SecurityController.php
⑦■src/Eccube/Form/Type/Install/Step3Type.php
⑧■src/Eccube/Resource/locale/message.ja.yml
⑨■src/Eccube/Resource/template/admin/error.twig
⑩■src/Eccube/Resource/template/admin/index.twig

(4)管理画面、コンテンツ管理>キャッシュ管理

「translator」をチェックしてキャッシュ削除を行って下さい。

 

EC-CUBE3 通常配達・店頭引取システム

このカスタマイズを現行サイトへ実装したい方はこちら

  • 「通常配達」「店頭引取」のどちらかの機能のみを有効にすることも可能です。
  • 通常配達と店頭引取の機能を無効にすると、通常のEC-CUBEとして動作します。
  • 配達可能なエリアは郵便番号で登録します。
  • 機能が有効の場合、ユーザーはエリア外のお届け先を登録することはできません。
  • 配達日・引取日はカレンダーで選択します。受注停止日は選択できないようになります。
  • 受注停止日、受注開始日、受注停止時刻、カレンダーで選択できる表示期間などは管理画面で設定します。
  • 管理画面(受注管理)で、「通常配達」「店頭引取」を条件にして絞り込み検索ができます。
  • 受注CSV ダウンロード・配送CSV ダウンロードに追加されます。
  • 管理画面から受注登録が可能です。
  • 管理画面:マスターデータ管理で、「配達時間」「引取時間」を設定します。
  • ユーザーへのお知らせ手段として、ブロックとページが作成されます。ブロックとページには、管理画面の設定が自動的に反映されるので、特にtplファイルを編集する必要はありません。
  • 複数配送機能は無効にしなければいけません。

マニュアル(PDF)もご覧いただけます。

1 通常配達:ユーザーの購入の流れ

001

ショッピングカート画面で、配達で注文をクリックします。
ログイン中であれば、「ご注文内容のご確認」画面へ移動します。
ログイン中でなければ、ログイン画面が表示されます。

続きを読む EC-CUBE3 通常配達・店頭引取システム

EC-CUBE3のデバッグモードが利用できないとき

EC-CUBE3のデバッグには、index_dev.phpを利用します。
index_dev.phpに自身の接続IPアドレス(123.123.123.123)を下記のように記述し、

http://EC-CUBE3のURL/index_dev.phpでアクセスします。

$allow = array(
 '127.0.0.1',
 'fe80::1',
 '::1',
 '123.123.123.123',
);

ところが、サーバ(Xサーバーで確認)によっては、下記メッセージが表示され、動作しない場合があります。
Youare not allowed to access this file. Check index_dev.php for more information.

そこで、index_dev.phpの37行目付近を下記のように変更して対応します。

if (isset($_SERVER['HTTP_CLIENT_IP'])
|| isset($_SERVER['HTTP_X_FORWARDED_FOR'])
|| !in_array(@$_SERVER['REMOTE_ADDR'], $allow)
) {
header('HTTP/1.0 403 Forbidden');
exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}

↓【変更】

$IP = '123.123.123.123';
if ($IP != $_SERVER["REMOTE_ADDR"]) {
if (isset($_SERVER['HTTP_CLIENT_IP'])
|| isset($_SERVER['HTTP_X_FORWARDED_FOR'])
|| !in_array(@$_SERVER['REMOTE_ADDR'], $allow)
) {
header('HTTP/1.0 403 Forbidden');
exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.'.'<br />'.$_SERVER['REMOTE_ADDR']);
}
}

(1)IPアドレスの設定
↓自身の接続IPアドレス
$IP = ‘123.123.123.123‘;

(2).'<br />’.$_SERVER[‘REMOTE_ADDR’]
これは、必ずしも必要ではありません。
これを追加しておくと、IPアドレスが設定されていない場合や正しくない場合に、下記のように現在のIPアドレスが表示されるので便利です。
————————————-
Youare not allowed to access this file. Check index_dev.php for more information.
123.123.123.123
————————————-

 

EC-CUBE3機能カスタマイズ版:Google Maps API を管理画面で入力する

GoogleMapの表示においてAPIキーが必須になったため、基本情報設定>ショップマスターの地図設定欄にAPIキーの入力ボックスを追加しました。
APIキーを入力しないと、「当サイトについて」の地図は表示されません。
また、商品詳細ページで「関連する地図」を表示している場合も、APIキーを入力しないと表示されません。

api

 

機能カスタマイズ版の3.0.15→3.0.16バージョンアップ手順

ご購入されたカスタマイズ版のファイルに対して、ご自身で編集等を行っていない場合は提供ファイルをそのまま上書きされて構いません。
ご自身で編集等を行っている場合は、EC-CUBE3:3.0.15→3.0.16バージョンアップファイルの一覧をご覧いただき、現行ファイルに修正箇所を追加してください。

バージョンアップファイルは次の通りです。

■composer.json
■composer.lock
■src/Eccube/Common/Constant.php
■src/Eccube/Controller/EntryController.php
■src/Eccube/Controller/ShoppingController.php

■vendor
現行サイトのvendorを新しいvendorと入れ換えます。
(現在のvendorを削除。新しいvendorを追加。)

下記ファイルは今回のバージョンアップ対象となっていますが、C3015D1801Aで既に修正済みです。(修正は不要)
■html/index_dev.php
■src/Eccube/Resource/template/default/Cart/index.twig