EC-CUBE4.0.2カスタマイズ版を4.0.3へバージョンアップする方法

ご注意!

バージョンアップは、あくまでもご自身の責任で行ってください。
上手くいかない場合の原因を特定することはできませんので、こちらでは対応出来ませんし、責任も持てません。
必ずバックアップを取り、元に戻せる体制を整えてから、バージョンアップをお願いします。

ご自身でカスタマイズ編集されているファイルが、今回のバージョンアップファイルに含まれている場合、ファイルを上書きすると編集箇所がなくなってしまいます。
編集箇所をご確認の上、ファイル上書き後に、ご自身の編集箇所を追加するようにしてください。

続きを読む EC-CUBE4.0.2カスタマイズ版を4.0.3へバージョンアップする方法

EC-CUBE4.0.2→EC-CUBE4.0.3 バージョンアップファイルの一覧

EC-CUBE4.0.3では、次のデータベースが追加されています。

① dtb_order_itemに、tax_adjustカラムが追加。
② dtb_csvに、「税率」というデータが追加。

EC-CUBE4.0.2のデータベースに対して、次のSQLで追加することができます。
▼MySQL
———————————
ALTER TABLE dtb_order_item ADD tax_adjust decimal unsigned NOT NULL DEFAULT 0;
INSERT INTO dtb_csv (id, csv_type_id, creator_id, entity_name, field_name, reference_field_name, disp_name, sort_no, enabled, create_date, update_date, discriminator_type) VALUES (LAST_INSERT_ID(), 1, null , ‘Eccube\\\\Entity\\\\ProductClass’, ‘TaxRule’, ‘tax_rate’, ‘税率’, 31, false, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP,’csv’);
———————————
▼PostgreSQL
———————————
ALTER TABLE dtb_order_item ADD tax_adjust decimal NOT NULL DEFAULT 0;
INSERT INTO dtb_csv (id, csv_type_id, creator_id, entity_name, field_name, reference_field_name, disp_name, sort_no, enabled, create_date, update_date, discriminator_type) VALUES (nextval(‘dtb_block_block_id_seq’), 1, null , ‘Eccube\\\\Entity\\\\ProductClass’, ‘TaxRule’, ‘tax_rate’, ‘税率’, 31, false, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP,’csv’);
select setval(‘dtb_csv_id_seq’,(select max(id) from dtb_csv));
———————————

続きを読む EC-CUBE4.0.2→EC-CUBE4.0.3 バージョンアップファイルの一覧

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

 

 

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

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

Ⅰ 移行元の操作

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

Ⅱ 移行先の操作

1 dtb_order

外部キー制約あり。

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

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

dtb_order_item
① Constraint properties→「FK_A0C8C3ED8D9F6D38」
② カラム→「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_item DROP FOREIGN KEY `FK_A0C8C3ED8D9F6D38`;

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

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

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

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

ALTER TABLE dtb_shipping ADD CONSTRAINT FK_2EBD22CE8D9F6D38 FOREIGN KEY (order_id) REFERENCES dtb_order (id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_mail_history ADD CONSTRAINT FK_4870AB118D9F6D38 FOREIGN KEY (order_id) REFERENCES dtb_order (id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_order_item ADD CONSTRAINT FK_A0C8C3ED8D9F6D38 FOREIGN KEY (order_id) REFERENCES dtb_order (id) ON DELETE RESTRICT ON UPDATE RESTRICT;

2 dtb_order_item

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

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

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

ALTER TABLE dtb_order_item DROP FOREIGN KEY `FK_A0C8C3ED4887F3F8`;

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

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

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

DELETE FROM dtb_order_item WHERE shipping_id NOT IN( SELECT id FROM dtb_shipping );

ALTER TABLE dtb_order_item ADD CONSTRAINT FK_A0C8C3ED4887F3F8 FOREIGN KEY (shipping_id) REFERENCES dtb_shipping (id) ON DELETE RESTRICT ON UPDATE RESTRICT;

3 dtb_order_pdf

外部キー制約なし

(1)空にする。

(2)sqlインポート

4 dtb_shipping

外部キー制約あり。

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

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

ALTER TABLE dtb_order_item DROP FOREIGN KEY `FK_A0C8C3ED4887F3F8`;

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

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

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

DELETE FROM dtb_order_item WHERE shipping_id NOT IN( SELECT id FROM dtb_shipping );

ALTER TABLE dtb_order_item ADD CONSTRAINT FK_A0C8C3ED4887F3F8 FOREIGN KEY (shipping_id) REFERENCES dtb_shipping (id) ON DELETE RESTRICT ON UPDATE RESTRICT;

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

 

 

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

機能カスタマイズ版はインストールと同時に機能が実装されます。
詳しくは↓こちらをご覧ください。
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 id FROM dtb_customer );
DELETE FROM dtb_customer_address WHERE customer_id NOT IN( SELECT id FROM dtb_customer );
DELETE FROM dtb_customer_favorite_product WHERE customer_id NOT IN( SELECT id FROM dtb_customer );

ALTER TABLE dtb_order ADD CONSTRAINT FK_1D66D8079395C3F3 FOREIGN KEY (customer_id) REFERENCES dtb_customer (id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_customer_address ADD CONSTRAINT FK_6C38C0F89395C3F3 FOREIGN KEY (customer_id) REFERENCES dtb_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 (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

外部キー制約なし

(1)空にする。

(2)sqlインポート

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_shipping
① Constraint properties→「FK_2EBD22CE61220EA6」
② カラム→「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_shipping DROP FOREIGN KEY `FK_2EBD22CE61220EA6`;
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 id FROM dtb_member );
DELETE FROM dtb_class_name WHERE creator_id NOT IN( SELECT id FROM dtb_member );
DELETE FROM dtb_product_class WHERE creator_id NOT IN( SELECT id FROM dtb_member );
DELETE FROM dtb_mail_template WHERE creator_id NOT IN( SELECT id FROM dtb_member );
DELETE FROM dtb_ticker WHERE creator_id NOT IN( SELECT id FROM dtb_member );
DELETE FROM dtb_shipping WHERE creator_id NOT IN( SELECT id FROM dtb_member );
DELETE FROM dtb_product_image WHERE creator_id NOT IN( SELECT id FROM dtb_member );
DELETE FROM dtb_delivery WHERE creator_id NOT IN( SELECT id FROM dtb_member );
DELETE FROM dtb_topimage WHERE creator_id NOT IN( SELECT id FROM dtb_member );
DELETE FROM dtb_lp WHERE creator_id NOT IN( SELECT id FROM dtb_member );
DELETE FROM dtb_product_tag WHERE creator_id NOT IN( SELECT id FROM dtb_member );
DELETE FROM dtb_mail_history WHERE creator_id NOT IN( SELECT id FROM dtb_member );
DELETE FROM dtb_authority_role WHERE creator_id NOT IN( SELECT id FROM dtb_member );
DELETE FROM dtb_tax_rule WHERE creator_id NOT IN( SELECT id FROM dtb_member );
DELETE FROM dtb_category WHERE creator_id NOT IN( SELECT id FROM dtb_member );
DELETE FROM dtb_payment WHERE creator_id NOT IN( SELECT id FROM dtb_member );
DELETE FROM dtb_class_category WHERE creator_id NOT IN( SELECT id FROM dtb_member );
DELETE FROM dtb_product_stock WHERE creator_id NOT IN( SELECT id FROM dtb_member );
DELETE FROM dtb_product WHERE creator_id NOT IN( SELECT id FROM dtb_member );
DELETE FROM dtb_news WHERE creator_id NOT IN( SELECT id FROM dtb_member );
DELETE FROM dtb_csv WHERE creator_id NOT IN( SELECT id FROM dtb_member );

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

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

(1)移行元、EC-CUBE直下に生成されている「.env」をダウンロード
(2)ECCUBE_AUTH_MAGIC=***********************←コピー
(3)移行先、EC-CUBE直下に生成されている「.env」をダウンロード
(4)ECCUBE_AUTH_MAGIC=***********************←ペーストして、アップロード

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

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

 

 

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

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

Ⅰ 移行元の操作

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

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

(2)各テーブルのsqlをダウンロード(エクスポート)します。
—————————————-
① dtb_category
② dtb_class_category
③ dtb_class_name
④ dtb_product
⑤ dtb_product_category
⑥ dtb_product_class
⑦ dtb_product_image
⑧ dtb_product_stock
⑨ dtb_product_tag
⑩ dtb_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 id FROM dtb_category );

ALTER TABLE dtb_product_category ADD CONSTRAINT FK_B057789112469DE2 FOREIGN KEY (category_id) REFERENCES dtb_category (id) ON DELETE RESTRICT ON UPDATE RESTRICT;

2 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 id FROM dtb_class_category );
DELETE FROM dtb_product_class WHERE class_category_id2 NOT IN( SELECT id FROM dtb_class_category );

ALTER TABLE dtb_product_class ADD CONSTRAINT FK_1A11D1BA248D128 FOREIGN KEY (class_category_id1) REFERENCES dtb_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 (id) ON DELETE RESTRICT ON UPDATE RESTRICT;

3 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 id FROM dtb_class_name );

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

4 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_product_tag
・Constraint properties→「FK_59F696DE4584665A」
・カラム→「product_id」

⑤ dtb_order_item
・Constraint properties→「FK_A0C8C3ED4584665A」
・カラム→「product_id」

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

⑦ dtb_customer_favorite_product
・Constraint properties→「FK_ED6313834584665A」
・カラム→「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_order_item DROP FOREIGN KEY `FK_A0C8C3ED4584665A`;
ALTER TABLE dtb_product_category DROP FOREIGN KEY `FK_B05778914584665A`;
ALTER TABLE dtb_customer_favorite_product DROP FOREIGN KEY `FK_ED6313834584665A`;

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

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

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

DELETE FROM dtb_product_class WHERE product_id NOT IN( SELECT id FROM dtb_product );
DELETE FROM dtb_product_image WHERE product_id NOT IN( SELECT id FROM dtb_product );
DELETE FROM dtb_product_tag WHERE product_id NOT IN( SELECT id FROM dtb_product );
DELETE FROM dtb_product_tag WHERE product_id NOT IN( SELECT id FROM dtb_product );
DELETE FROM dtb_order_item WHERE product_id NOT IN( SELECT id FROM dtb_product );
DELETE FROM dtb_product_category WHERE product_id NOT IN( SELECT id FROM dtb_product );
DELETE FROM dtb_customer_favorite_product WHERE product_id NOT IN( SELECT id FROM dtb_product );

ALTER TABLE dtb_product_class ADD CONSTRAINT FK_1A11D1BA4584665A FOREIGN KEY (product_id) REFERENCES dtb_product (id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_product_image ADD CONSTRAINT FK_3267CC7A4584665A FOREIGN KEY (product_id) REFERENCES dtb_product (id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_product_tag ADD CONSTRAINT FK_4433E7214584665A FOREIGN KEY (product_id) REFERENCES dtb_product (id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_product_tag ADD CONSTRAINT FK_59F696DE4584665A FOREIGN KEY (product_id) REFERENCES dtb_product (id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_order_item ADD CONSTRAINT FK_A0C8C3ED4584665A FOREIGN KEY (product_id) REFERENCES dtb_product (id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_product_category ADD CONSTRAINT FK_B05778914584665A FOREIGN KEY (product_id) REFERENCES dtb_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 (id) ON DELETE RESTRICT ON UPDATE RESTRICT;

5 dtb_product_category

外部キー制約なし

(1)空にする。

(2)sqlインポート

6 dtb_product_class

外部キー制約あり。

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

② dtb_order_item
・Constraint properties→「FK_A0C8C3ED21B06187」
・カラム→「product_class_id」

③ dtb_cart_item
・Constraint properties→「FK_B0228F7421B06187」
・カラム→「product_class_id」

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

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

ALTER TABLE dtb_tax_rule DROP FOREIGN KEY `FK_59F696DE21B06187`;
ALTER TABLE dtb_order_item DROP FOREIGN KEY `FK_A0C8C3ED21B06187`;
ALTER TABLE dtb_cart_item DROP FOREIGN KEY `FK_B0228F7421B06187`;
ALTER TABLE dtb_product_stock DROP FOREIGN KEY `FK_BC6C9E4521B06187`;

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

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

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

DELETE FROM dtb_tax_rule WHERE product_class_id NOT IN( SELECT id FROM dtb_product_class );
DELETE FROM dtb_order_item WHERE product_class_id NOT IN( SELECT id FROM dtb_product_class );
DELETE FROM dtb_cart_item WHERE product_class_id NOT IN( SELECT id FROM dtb_product_class );
DELETE FROM dtb_product_stock WHERE product_class_id NOT IN( SELECT id FROM dtb_product_class );

ALTER TABLE dtb_tax_rule ADD CONSTRAINT FK_59F696DE21B06187 FOREIGN KEY (product_class_id) REFERENCES dtb_product_class (id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_order_item ADD CONSTRAINT FK_A0C8C3ED21B06187 FOREIGN KEY (product_class_id) REFERENCES dtb_product_class (id) ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE dtb_cart_item ADD CONSTRAINT FK_B0228F7421B06187 FOREIGN KEY (product_class_id) REFERENCES dtb_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 (id) ON DELETE RESTRICT ON UPDATE RESTRICT;

7 dtb_product_image

外部キー制約なし

(1)空にする。

(2)sqlインポート

8 dtb_product_stock

外部キー制約なし

(1)空にする。

(2)sqlインポート

9 dtb_product_tag

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

dtb_tag
・Constraint properties→「FK_4433E721BAD26311」
・カラム→「tag_id」

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

ALTER TABLE dtb_product_tag DROP FOREIGN KEY `FK_4433E721BAD26311`;

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

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

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

DELETE FROM dtb_product_tag WHERE tag_id NOT IN( SELECT id FROM dtb_tag );

ALTER TABLE dtb_product_tag ADD CONSTRAINT FK_4433E721BAD26311 FOREIGN KEY (tag_id) REFERENCES dtb_tag (id) ON DELETE RESTRICT ON UPDATE RESTRICT;

10 dtb_tag

外部キー制約あり。

dtb_product_tag
・Constraint properties→「FK_4433E721BAD26311」
・カラム→「tag_id」

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

ALTER TABLE dtb_product_tag DROP FOREIGN KEY `FK_4433E721BAD26311`;

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

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

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

DELETE FROM dtb_product_tag WHERE tag_id NOT IN( SELECT id FROM dtb_tag );

ALTER TABLE dtb_product_tag ADD CONSTRAINT FK_4433E721BAD26311 FOREIGN KEY (tag_id) REFERENCES dtb_tag (id) ON DELETE RESTRICT ON UPDATE RESTRICT;

 

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

 

 

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

機能カスタマイズ版はインストールと同時に機能が実装されます。
詳しくは↓こちらをご覧ください。
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 id FROM dtb_category );
ALTER TABLE dtb_product_category ADD CONSTRAINT FK_B057789112469DE2 FOREIGN KEY (category_id) REFERENCES dtb_category (id) ON DELETE RESTRICT ON UPDATE RESTRICT;

 

EC-CUBE4:スマホの閲覧時にサイドカラムを表示する

カスタマイズご希望の方はこちら

カスタマイズ内容

・サイドカラムはEC-CUBEデフォルトでは非表示になりますが、カスタマイズ版ではメインカラムの下に表示されます。
・表示順は上から、中央カラム→右カラム→左カラム となります。

PC画面

001

 スマホ画面

002
カスタマイズご希望の方はこちら

EC-CUBE4:ヘッダーデザイン・グローバルメニュー・カテゴリブロック

カスタマイズご希望の方はこちら

カスタマイズ内容

・ファイルの入れ換えにより、3パターンのヘッダーデザインから、好みのデザイン適用することができます。
・管理画面で、3パターンのグローバルニューから、好みのデザインを適用することができます。
・「カテゴリナビ(PC)」ブロックは、サイドカラムに配置することが出来ます。ヘッダーカラムに配置しても表示されません。
・管理画面で「カテゴリブロックの展開」を「有効」にすると、子カテゴリーが展開されて表示されます。
・「カテゴリナビ(PC)」ブロックと同じ機能を持つ「グローバルメニュー」は、logo.twigで読み込んでいます。
・ロゴを画像で作成して上書きして下さい。
■html/template/default/assets/img/common/logo.png

ヘッダーデザインの3パターン

カスタマイズ版のインストール時は、「No.2ヘッダーデザイン」で構築されます。

No.1 ヘッダーデザイン

001

No.2 ヘッダーデザイン

002

No.3 ヘッダーデザイン

003

管理画面で、グローバルニュー(3パターン)を選択

1、2、3 のいずれかを入力します。

004

 

グローバルメニューの3パターン

1

005

2

006

3

007

「カテゴリナビ(PC)」をサイドカラムに配置

008

管理画面で「カテゴリブロックの展開」を「有効」にすると、子カテゴリーが展開

009

010

 

 


 

【ヘッダーデザインの変更手順】

011

(1)twigファイルを入れ換える。
—————————————
■src/Eccube/Resource/template/default/Block/cart.twig
■src/Eccube/Resource/template/default/Block/category_nav_pc.twig
■src/Eccube/Resource/template/default/Block/header.twig
■src/Eccube/Resource/template/default/Block/login.twig
■src/Eccube/Resource/template/default/Block/logo.twig
■src/Eccube/Resource/template/default/Block/search_product.twig
—————————————

(2)function.jsを入れ換える。
—————————————
■html/template/default/assets/js/function.js
—————————————

(3)style.cssの以下の箇所を書き換える。

■html/template/default/assets/css/style.css
/* ========== ▼No.1 ヘッダーレイアウト ここから ==========*/





/* ========== ▲No.1 ヘッダーレイアウト ここまで ==========*/

(4)コンテンツ管理>キャッシュ削除 を行ってください。

(5)変更が反映されない場合は、ブラウザのキャッシュを削除してください。

 


【グローバルメニューの各カテゴリーを「全商品」として一つにまとめる方法】

(1)/Block/globalmenuA.twig

012

① 24行目付近を下記のように変更すると、一つにまとめることができます。

<ul class="ec-itemNav__nav">
{% for Category in Categories %}
<li>
{{ tree(Category) }}
</li>
{% endfor %}
</ul>

↓【変更】

<ul class="ec-itemNav__nav">
<li>
<a href="#">全商品</a>
<ul>
{% for Category in Categories %}
<li>
{{ tree(Category) }}
</li>
{% endfor %}
</ul>
</li>
</ul>

② 図のように配置したときの記述

<ul class="ec-itemNav__nav">
<li>
<a href="#">全商品</a>
<ul>
{% for Category in Categories %}
<li>
{{ tree(Category) }}
</li>
{% endfor %}
</ul>
</li>
<li>
<a href="#">メニュー1</a>
<ul>
<li>
<a href="#">メニュー2</a>
</li>
<li>
<a href="#">メニュー2</a>
</li>
<li>
<a href="#">メニュー2</a>
<ul>
<li>
<a href="#">メニュー3</a>
</li>
<li>
<a href="#">メニュー3</a>
</li>
</ul>
</li>
</ul>
</li>
<li><a href="#">メニュー</a></li>
<li><a href="#">メニュー</a></li>
<li><a href="#">メニュー</a></li>
</ul>

(2)/Block/globalmenuB.twig

013

① 24行目付近を下記のように変更すると、一つにまとめることができます。

<ul class="global">
{% for Category in Categories %}
<li>
{{ tree(Category) }}
</li>
{% endfor %}
</ul>

↓【変更】

<ul class="global">
<li>
<a href="#">全商品</a>
<ul>
{% for Category in Categories %}
<li>
{{ tree(Category) }}
</li>
{% endfor %}
</ul>
</li>
</ul>

② 図のように配置したときの記述

<ul class="global">
<li>
<a href="#">全商品</a>
<ul>
{% for Category in Categories %}
<li>
{{ tree(Category) }}
</li>
{% endfor %}
</ul>
</li>
<li>
<a href="#">メニュー1</a>
<ul>
<li>
<a href="#">メニュー2</a>
</li>
<li>
<a href="#">メニュー2</a>
</li>
<li>
<a href="#">メニュー2</a>
<ul>
<li>
<a href="#">メニュー3</a>
</li>
<li>
<a href="#">メニュー3</a>
</li>
</ul>
</li>
</ul>
</li>
<li><a href="#">メニュー</a></li>
<li><a href="#">メニュー</a></li>
<li><a href="#">メニュー</a></li>
</ul>

(3)/Block/globalmenuC.twig

カテゴリーは、すでに「全商品」にまとめられています。

メガメニューの下記の数に応じて、縦列に並びます。
————————————–
<div class=”item”>~</div>
————————————–
これが、3つあるので3列に並んでいます。
1つ増やすと、4列で等間隔に並びます。
5つにすると、5列で等間隔に並びます。
あるいは、
<div class=”item”>にこだわらず、
自由に記述し、CSSでレイアウトを整えることもできます。
カスタマイズご希望の方はこちら