EC-CUBE4:商品情報更新でハマった事

EC-CUBE4:商品情報更新でハマった事

EC-CUBE4の商品情報更新でハマった事

EC-CUBEを弄りだして1週間になろうとしてます。

TOPの調整、店舗内カテゴリの登録と作業を進め、商品登録へ移行しました。
商品登録しないとTOPページの商品リンク変更できないしね。

ウチはアイテム数が多いので「使うのは当然CSVでしょ」と言うことでデータ作って実行!
見事にハマったので備忘録として記します。

ハマったポイントの列挙

  1. アイテム数が多い為かCSV更新が途中で止まりエラー。
  2. アイテム数を減らして再挑戦。自動採番が2482からスタートする。
  3. MYSQL内のテーブルを確認すると商品に絡む自動採番が飛びまくっている
  4. 小分けにしたのにシステムエラーで再挑戦。何度やってもシステムエラー発生

アイテム数が多くて途中でシステムエラー発生

10分満たない程度の時間経過後、CSV商品登録でシステムエラーが発生。
先に行ったカテゴリの時に63件が最大だったため、レコード数を50件にして実行。
1分もかからず商品登録が完了します。

次は100件、500件と増やし実行していったところ、1500~2000件の登録数になるとシステムエラーが発生する事が解りました。
これはEC-CUBE側の問題なのか、MySQL側の問題なのか不明です。
その為、あくまでも私の利用している環境での更新アイテム数のデータとなります。

アイテム数を減らして再挑戦。自動採番が2482からスタートする

そんなエラーを経験して追加した商品ですが、エラーの度に商品IDが大きく飛びます。

最初の追加で4000アイテムを実行したのですが、エラーで登録数0。
次の更新で50件をアップしたところ、13番から採番して欲しかったのに2482番から採番されました。

状況から推測すると、エラーで止まった商品登録がauto incrementを進め戻さないと言う感じですよね。

MYSQL内の商品に絡むテーブルで自動採番が飛びまくる

レコードが飛んだテーブルは以下の4つ

  • dtb_product
  • dtb_product_class
  • dtb_product_stock
  • dtb_product_image

でも気味悪いので直したい。
と言うことで、前回MySQLにログイン出来ない事態が発生しましたが、折角の機会です。勉強もかねて再度テーブル直弄りを実行します。

  • MYSQLから『dtb_product』をエクスポート。
  • 採番を含めたデータを作ってインポート。

これはあっさりと成功しました。

EC-CUBEのコンソールを確認すると…商品数のカウントはされていても商品が出てこない。

『dtb_product』ではアイテム登録時の必須項目が足りなかった為、これが原因かなと推測し『dtb_product_class』の手動更新を図ります。

  • 同じくMYSQLから『dtb_product_class』をエクスポート。
  • 採番を含めたデータを作ってインポート。

エラー発生。どうやら『dtb_product_class』は直弄りさせてくれないようです。
まぁ、管理画面から見えるIDじゃないしね。こっちは番号が飛んでも放置する事にしました。

表示しなかった商品はEC-CUBE管理画面からCSVで商品更新をする事で足りないデータがそろい表示する事が出来ました。

何度やってもシステムエラー発生

最後の500アイテムに差し掛かった時、なぜかシステムエラーを連発するようになりました。

作成したCSVに問題があるか、EC-CUBE事態に問題があるか、どちらか不明な状態です。

まずはCSVを更に小分けして更新してみます。

  • 1レコードで更新 ⇒ 成功
  • 10レコードで更新 ⇒ 成功
  • 100レコードで更新 ⇒ 成功

どうもEC-CUBE側の問題ではなさそうです。
残りのデータを確認しますが、見たところ問題はない様子。400レコードで更新 ⇒ エラー。

原因はCSVを作成したExcelの書式問題でした。

EC-CUBEの商品カテゴリは1商品複数カテゴリに登録する場合、カンマでIDを区切って記入します。
例えば『1,2,3』と言った感じです。

私の作ったデータは店舗内カテゴリが多いため『521,232,113』と登録。
これをCSVで掃き出し、エラーがあったからと作成されたCSVをExcelで読込み再加工していました。

これが更新時システムエラーの原因

CSVからExcelに読込した時点で『521,232,113』は数字のカンマ区切り表記となっていました。
その為、上書きしたCSVデータでは『521232113』と数字に変化。

そりゃはねられますよね。

まとめ

  • EC-CUBEは1週間で約4000アイテムを登録できるくらい簡単に店舗の作成ができる。
  • 但し、一気に処理するには問題も多く、更新や登録は出来るだけ小分けにしたデータで実行がよさそう。

後はSEO的にGoogleさんと仲良くする方法を探る必要がありますね。

頑張ります!