やかんブログ

Zen CartからEC-CUBEにデータ移行するときの注意!その2

2008年10月29日(水)08:37|谷口

谷口です。

Zen CartからEC-CUBEにデータ移行するときの注意!でZen CartからEC-CUBEに商品カテゴリデータを移行するときの注意点を書きました。 今回は商品属性のデータを移行するときの注意点を紹介します。

商品属性データに関係するテーブルの対応はZen CartとEC-CUBEでそれぞれ以下のようになっています。

  Zen Cart EC-CUBE
属性と商品の関連付け products_attributes dtb_products_class
属性の種類 products_options dtb_class
属性の値 products_options_values dtb_classcategory

Zen Cartにはさらにproducts_options_types、 products_options_values_to_products_options、 products_attributes_download などがあります。

注意が必要なのは表の青色のテーブル情報の移行時で、主に2点あります。

  1. Zen Cartのproducts_options, products_options_values のID情報は 言語IDと合わせて主キーになっています。 そのため、IDが0 のデータが存在する可能性があります。(実際にデモショップのデータにあります) 一方、DBがMySQLですと、対応するEC-CUBEのテーブルの主キーはauto_increment になっているため、0のデータを入れようとするとSQLエラーになります。(正確にはID=0のデータを入れようとするとID=1になるため、後続のデータでエラーになります。) これを回避するためにはID全体と他のテーブルの参照しているカラムすべてを付け替える必要があります。。。

  2. Zen Cartでは属性のない商品はproducts_attributesデータを持ちませんが、EC-CUBEでは属性のない商品もdtb_products_classにデータを持ちます。そのときはdtb_classcategoryのダミーデータを参照するようになっているのですが。。。もちろんZen Cart のproducts_options_values にはダミーのデータは存在しませんので、ダミーデータを登録するか、EC-CUBEのダミーデータ情報を残す必要があります。

かなり面倒ですよねぇ。。。

こちらも EC-SYNC なら自動で変換処理をいたします。

この記事に関するお問い合わせはこちら

ページの先頭へ