とりあえず、
2.4系⇒2.13系へ直で移行できるツールが無いので、今回も順を追って移行してみる。
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は無事に動いていることをご報^^/