とりあえず、

2.4系⇒2.13系へ直で移行できるツールが無いので、今回も順を追って移行してみる。

こちらこちらの2サイトも参考に・・・

1. 2.4.1⇒2.11.5

■まずは2.4.1には移行用データエクスポートモジュールを仕込む。

https://www.ec-cube.net/products/detail.php?product_id=180

2.4.1⇒移行データ作成。

■次に2.11.5を ダウンロード そしてインストール。

(移行のたびに毎回インストールするのはめんどいので今回は環境を残すことにした。)

■2.4系データインポートモジュールを仕込む。

https://www.ec-cube.net/products/detail.php?product_id=181

2.4.1データ⇒2.11.5インポート。

◆2.11.5インポート時にエラー

1.MDB2 Error: null value violates not-null constraint(直前のINSERTはdtb_shipping)

●以前は下記のやり方で対応したがあまりきれいなやり方では無いので今回は別の方法。

 ・dtb_shippingのdeliv_idのヌル(null)を【はい】にする(移行作業後、元に戻す)。

 ・dtb_order_derailのproduct_class_idのヌル(null)を【はい】にする(移行作業後、元に戻す)。

○/data/downloads/module/mdl_db_import/LC_Page_Mdl_Upload_Cyber.phpの1073行目辺り

 if (strlen($sqlval['deliv_id']) > 0) {

  $sqlval['deliv_id'] = '1';

 }

   ↓

 if (strlen($sqlval['deliv_id']) > 0) {

  $sqlval['deliv_id'] = '1';

 }else{ ←else以下を追加

  $sqlval['deliv_id'] = '0';

 }

■2.11系データエクスポートモジュールを仕込む。

https://www.ec-cube.net/products/detail.php?product_id=334

2.11.5⇒移行データ作成。

2. 2.11.5 ⇒ 2.12.6

■次に2.12.6を ダウンロード そしてインストール。

■2.11系データ移行プラグイン(インポート)を仕込む。

https://www.ec-cube.net/products/detail.php?product_id=325

2.11.5データ⇒2.12.6インポート。

3. 2.12.6 ⇒ 2.13.3

今回は既に2.13.3の環境を構築済みであったので、必要テーブルのみを移行。

(会員登録させていなかったのでcustomer系は無し)

■phpMyAdminで2.12.6を修正

ALTER TABLE dtb_baseinfo ADD COLUMN zipcode text ;

ALTER TABLE dtb_baseinfo ADD COLUMN country_id int ;

ALTER TABLE dtb_baseinfo ADD COLUMN law_zipcode text ;

ALTER TABLE dtb_baseinfo ADD COLUMN law_country_id int ;

ALTER TABLE dtb_baseinfo DROP COLUMN tax ;

ALTER TABLE dtb_baseinfo DROP COLUMN tax_rule ;

ALTER TABLE dtb_baseinfo DROP COLUMN email05 ;

ALTER TABLE dtb_order ADD COLUMN order_company_name text ;

ALTER TABLE dtb_order ADD COLUMN order_zipcode text ;

ALTER TABLE dtb_order ADD COLUMN order_country_id int ;

ALTER TABLE dtb_order_detail ADD COLUMN tax_rate numeric ;

ALTER TABLE dtb_order_detail ADD COLUMN tax_rule smallint ;

ALTER TABLE dtb_order_temp ADD COLUMN order_company_name text ;

ALTER TABLE dtb_order_temp ADD COLUMN order_zipcode text ;

ALTER TABLE dtb_order_temp ADD COLUMN order_country_id int ;

ALTER TABLE dtb_shipping ADD COLUMN shipping_company_name text ;

ALTER TABLE dtb_shipping ADD COLUMN shipping_country_id int ;

ALTER TABLE dtb_shipping ADD COLUMN shipping_zipcode text ;

■phpMyAdminで対象テーブルをエクスポート

dtb_baseinfo

dtb_category

dtb_category_category_id_seq

dtb_category_count

dtb_category_total_count

dtb_class

dtb_classcategory

dtb_classcategory_classcategory_id_seq

dtb_class_class_id_seq

dtb_order

dtb_order_detail

dtb_order_detail_order_detail_id_seq

dtb_order_order_id_seq

dtb_order_temp

dtb_products

dtb_products_class

dtb_products_class_product_class_id_seq

dtb_products_product_id_seq

dtb_product_categories

dtb_product_status

dtb_shipment_item

dtb_shipping

■phpMyAdminで2.13.3にインポート

■2.13.3にて動作確認

以上の手順で今のところ2.13.3は無事に動いていることをご報^^/