EC-Cubeのヴァージョンアップ作業 | Webクリエイターな備忘録

このサイトはフリーランスでWeb制作をするクリエイターの備忘録なメモサイトです。 Webサイトを作る際に気になった事やjavaScriptなどのライブラリの事などWebサイト制作に関する事、また気になるでき事、日常の事などを気ままに勝手に書き綴っています。

EC-Cubeのヴァージョンアップ作業

1
今回は、EC-Cube2.4から最新版の2.13へヴァージョンアップした時の作業を備忘録として残しておきます。

EC-Cubeのヴァージョンアップをしたのは、レンタルサーバ会社より、古いCMSを使用しているのでヴァージョンアップをしろと連絡がきた為。
ヴァージョンアップしない場合は、アカウントの停止もあるとの注意喚起付き!
ヴァージョンアップしたEC-Cubeサイトは、現在稼働中の為、注意しながら作業していきます。

EC-Cubeの2.4から2.13へは、直接ヴァージョンアップ出来ないので、作業手順としては、以下のような感じとなると思います。
【作業手順】
1、2.4からデータエクスポート
2、2.11を仮設置して2.4のデータインポート
3、2.11からデータエクスポート
4、2.12を仮設置して2.11のデータインポート
5、2.12のデータベースを複製し、2.13用にテーブル変更作業
6、2.13をインストールし、データベースの切替
7、2.13用にテンプレート制作

何だかかなり大変そうです。

ネットで、EC-Cubeのヴァージョンアップ作業代行をしてくれるサービスがありますが、いいお値段するのがわかります。

2.4からデータエクスポート作業

2
先ずは、現在稼働中のEC-Cubeサイトよりデータを取り出さないといけません。
EC-Cube2.4のデータを2.11用のデータへ変更しデータを書き出してくれるエクスポートモジュールが、EC-Cubeのオーナーズストアにありますのでダウンロードして2.4サイトへインストールします。

オーナーズストアよりモジュールやプラグインをダウンロードする場合は、無料登録が必要ですので、事前に登録しておきましょう!

エクスポートモジュールで、EC-Cube2.11に対応したデータが出来たら、2.4から必要なファイルを取り出します。

必要なファイルは、uploadフォルダにある画像一式。これがないと商品画像が表示されませんので必ず取り出しておきましょう。あと追加したブロック、ページのデータを管理画面からコピーして置きます。内容だけではなく、ブロック名、ページ名なども同じにしますので、忘れずに記述しておきます。

オリジナルテンプレートを作った方は、テンプレートファイルも取り出しておいて下さい。

EC-Cube2.11仮設置しデータインポート

3
先ほど作った2.11用のデータをインポートする為にEC-Cube2.11をサーバやxammpなどに仮設置します。

仮設置出来たら、2.11へデータをインポートする為にオーナーズストアからインポートモジュールをインストールし、データをインポートします。
インポート前に、こちらのサイトを参考に適所DBやファイルを事前に修正しておきます。

私がやった作業は、phpmyadminで、
・dtb_shippingのdeliv_idのヌル(null)を【はい】にする(移行作業後、元に戻す)。
・dtb_order_derailのproduct_class_idのヌル(null)を【はい】にする(移行作業後、元に戻す)。
・dtb_products_classのprice02のヌル(null)を【はい】にする(移行作業後、元に戻す)。
の上記、3点を事前に修正。

その他インポート中にエラーなどが出る場合は、適所対処し、データをインポートします。
インポート後、2.11での商品管理や、受注管理の内容が反映されているか確認しておきます。

2.11からデータエクスポート作業

4
仮設置した2.11から2.12用のデータを取り出す為に、オーナーズストアからエクスポートモジュールをインストールし、データをエクスポートします。私の環境ではエラーなどもなく、正常にエクスポートデータができたようです。

EC-Cube2.12仮設置しデータインポート

5
先ほど作った2.12用のデータをインポートする為にEC-Cube2.12をサーバやxammpなどに仮設置します。

仮設置出来たら、2.12へデータをインポートする為にオーナーズストアからインポートプラグインをインストールし、データをインポートします。

インポート後、2.12での商品管理や、受注管理の内容が反映されているか確認しておきます。

EC-Cube2.12から2.13へ

6
EC-Cube2.12から2.13へアップグレードする場合は、公式からインポートモジュールが出ていないので手動でアップグレードする事になります。
まずは、こちらのサイトを参考にDBのアップグレード作業から始めます。

2.12のDBを複製し2.13様に修正していきます。
複製したDBに、こちらのサイトで配布されていますDBアップグレード用のSQLをphpmyadminで実行します。

私の環境では、アップグレードSQLを1回では適応できなかったので、各テーブルごとにSQLを実行しました。

DBの作業が完了したら、EC-Cube2.13を新規にインストールし、/data/config/config.phpのDB項目を編集してDBを切替えます。

DBの切替え作業が完了したら、2.13用のテンプレートを制作していきます。
2.4のテンプレートがそのまま使用できないので、2.13用に作り替えます。

あと前作業で、取り出していたuploadフォルダなどをサーバー上に設置し、郵便番号データの取得して作業終了となります。

作業をしてみて

EC-Cube2.4から最新の2.13へのヴァージョンアップをするには、かなり作業が必要となります。

稼働中のサイトをヴァージョンアップするには、一定期間サイトを閉鎖する必要がありますので、事前にアナウンスするなどして、確実にヴァージョンアップして下さい。

2.12のデータを作る作業までは、ローカルで作成できますので、2.12から2.13へのヴァージョンアップ作業の間サイト閉鎖となると思います。

事前にバックアップを取って、慎重に作業すれば大丈夫だと思います。

今回、参考にさせて頂いたサイト

EC-CUBE 2.4.0 → 2.13.2 へのアップデート作業
ECCUBEのDB移行【ver 2.3.4 → 2.13.1】

コメントは受け付けていません。