やかん部@FLATz

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

このエントリをdel.icio.usに追加このエントリをはてなブックマークに追加 |2008年10月29日(水)08:37|taniguchi

谷口です。


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 なら自動で変換処理をいたします。

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


関連記事


Trackback URL


このページの先頭へ