この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
目次
はじめに
ec-cube3がリリースされてから早3年が経過しました。ec-cube3のプラグインが充実してきましたので、ec-cubeの設置先サーバーを変更するときにec-cube2からec-cube3に移行しました。その際の直面した注意点をまとめていきます。
ec-cube2からec-cube3への相違点の要約
ec-cube3のフレームワークがSymfony2ベースのSilexに変更されています。見た目で特に大きくことなる点は、
- 複数存在したサブタイトルやサブコメントを統合
- 画像が一元管理
- ポイント機能がない
です。
複数存在したサブタイトルやサブコメントを統合
複数存在したサブタイトルやサブコメントの入力欄が、画像の赤丸で囲った「商品説明」の一か所に統合されています。そのためデータ移行のときは、少なくともサブタイトルとサブコメントを連結する必要があります。
画像が一元管理に変更
サブタイトルやサブコメントなどと同じく画像も一元管理に変更となります。もちろん複数の写真登録も可能ですが、写真の再撮影や再登録が必要です。
ポイント機能がない
ポイント機能が基本からプラグイン拡張に移行したため、初期状態ではポイント機能が無くなります。サイト内でポイント機能を提供しているときは、事前にポイントのプラグインを決める必要があります。
ec-cube2からec-cube3へデータベースの相違点
次にデータベースの移行です。今回はec-cube2からec-cube3に移行するときに作業が必須で、且つ移行するときの負担が大きい商品に焦点を当てて確認していきましょう。
また顧客情報に関しても注意事項が確認されましたので追記します。
商品データベースの相違点
テーブル名やカラム名が変更になっているものが多く、作業を行うときには注意しなければいけません。
eccube2のテーブル名 | eccube3のテーブル名 | 論理テーブル名 |
---|---|---|
dtb_category | dtb_category | 商品のカテゴリー |
dtb_category_count | dtb_category_count | カテゴリー内の数 |
dtb_category_total_count | dtb_category_total_count | カテゴリー内の総数 |
dtb_classcategory | dtb_class_category | 商品の規格分類 |
dtb_class | dtb_class_name | 規格情報 |
dtb_products | dtb_product | 商品情報 |
dtb_product_categories | dtb_product_category | 商品のカテゴリーとの紐づけ |
dtb_products_class | dtb_product_class | 商品の規格情報との紐づけ |
× | dtb_product_stock | 商品在庫 |
mtb_product_type | mtb_product_type | 商品種別 |
商品移行のときの注意点
選択なしの値が「0」から「NULL」に変更しています
各カラムの選択なしの値が「0」から「NULL」に変更になっています。これはデータを移行する際には地味に大きい変更点です。データベースの移行は、mysqldumpのデータから移行するかと思いますが、把握せずにデータを移植しようするとどツボにはまることがあるのでご注意ください。
「dtb_product_stock」の設定が必要です
ec-cube3から在庫管理用のテーブル「dtb_product_stock」が追加されています。もし「dtb_product_stock」を設定しないと画像のように各商品の詳細ページにてエラーが発生するためご注意ください。
顧客情報の注意事項
eccube2では商品の送付先住所は「テーブル:dtb_customer」で管理して、別住所があれば「テーブル:dtb_customer_address」に追記する仕様でした。eccube3では商品の送付先の住所は全て「テーブル:dtb_customer_address」で管理する仕様に変更となりました。そのためeccube3に移行するときは「テーブル:dtb_customer_address」へ事前に「テーブル:dtb_customer」の住所を追加する必要があります。
さいごに
ある程度の覚悟はしていましたが、データ移行を行うと想定以上の労力がかかりました。ec-cbue2とec-cbue3は根本的な構造が異なるため、プラグインも新規で用意しなければいけないです。みなさんは移行するときは十分に準備してから移行して下さいね。
※個人的には移行する手間が想定をかなり超えていたため、もっと慎重に移行すればよかったと後悔しています(苦笑)