EC-CUBE2系からEC-CUBE3へのバージョンアップについて

EC-CUBE Advent Calendar 2016 4日目の記事です。

4日目はEC-CUBE2系からEC-CUBE3へバージョンアップした時の内容を書きます。

EC-CUBE2系といっても2系には

  • 2.4
  • 2.11
  • 2.12
  • 2.13

というバージョンがあります。今回は2.4からバージョンアップした際に行った内容を書きます。

2.4から3系へバージョンアップする際に主な作業として、

  • DBの移行
  • プログラム移行
  • デザイン移行

等があります。

DBの移行

3系のDBは2系を基本にしていますが、3系に合わせて色々と修正されており、3系から存在しなくった機能については該当するテーブル自体が存在していません。2系と3系のテーブル比較はこちら記事を参考にしてください。

EC-CUBE2とEC-CUBE3のテーブル比較 - AmidaikeBlog

2.4から3系にデーブルを移行するためには、

  • マスタ類に関してはそのままデータ移行
  • マスタ系以外は商品、受注、会員データについては大きく異なるため、移行用プログラムなどを作成して対応
  • ポイントや商品レビュー機能など3系では標準で存在しない機能を利用していた場合、プラグインのテーブルに合わせて移行

を行います。また、当時PostgreSQLを採用していた場合、MySQLへ移行しても特に問題はありません。

移行ブログラムについては後日公開します。

デザイン移行

3系ではテンプレートがSmartyからTwigに変更されています。そのため、全ての画面をTwigに変更する作業が発生します。
DBのように移行プログラムなどを作成できれば作業の軽減ができますが、残念ながらそれができないため全て対応する必要があります。

デザインの移行にあたり、

  • 全ファイルをTwigに変更
  • 画像ファイルなどのリソースファイル移行
  • 標準機能にない場合、プラグインをインストール後に適切なレイアウトに修正

が必要になります。

プログラム移行

デフォルトのまま2.4を利用していた場合、問題なくそのまま3系の機能を使えますが独自にカスタマイズをしていたら変更が必要です。

EC-CUBE3ではフレームワークにSilexを採用しているため、それに則って本体をカスタマイズする必要があります。プラグインで対応出来るのであればプラグインでも対応しても問題ありません。

その他

2系採用当時に最新のミドルウェアを採用していても、その後バージョンアップをしていなければ合わせて最新バージョンの採用を行います。

例として3系はバージョンアップ時に採用したのは、

  • OS : CentOS7
  • DB : MySQL5.7
  • Webサーバ : Apache2.4
  • php7

と構築当時で一番最新のバージョンを採用しています。

以上簡単にではありますが、2系(2.4)から3系にバージョンアップするための主な作業を書きました。

もしバージョンアップをお考えの方や悩んでいる方は個別にご相談にのりますのでご連絡ください。

[2017/12/15 追記] データ移行ツールを公開しました。 amidaike.hatenablog.com