createEcCubeDataのバグ?に対応する

2018年4月9日

環境

EC-CUBE:3.0.15

サーバー:Xserver x10プラン

PHP: 7.0.x

 

はじめに

前回以下の記事を書きました。

createEcCubeDataを使ってEC-CUBEに大量の商品データを登録する

一見、上手く行ったかなーと思ったのですが、思わぬ罠がありました。

 

 

createEcCubeData-v30.phpのバグ?

これはcreateEcCubeData-v30.phpのバグなのか仕様なのか分かりませんが、一括登録した商品の詳細ページに行くとエラーが表示されます。

 

 

 

これは、商品データを登録する際に、「dtb_product_stock」テーブルにデータが登録されていないからです。

これを解決するために下記のSQLを流し込んでやります。


INSERT INTO `dtb_product_stock` (`product_class_id`, `creator_id`, `create_date`, `update_date`)
SELECT 
 dtb_product_class.product_class_id,
 '1',
 NOW(),
 NOW()
FROM `dtb_product_class`
WHERE 
 NOT EXISTS(
 SELECT product_class_id 
 FROM `dtb_product_stock`
 WHERE
 dtb_product_class.product_class_id = dtb_product_stock.product_class_id
 ) 

 

これで「dtb_product_stock」テーブルに不足したデータが登録されます。

試しに商品ページにアクセスしてみると・・・

 

 

アクセスができるようになりました!

 

いかがでしょうか?

今日はこの辺で-

 

 

 

  • この記事を書いた人

カバノキ

印刷会社のWEB部隊に所属してます。 WEB制作に携わってから、もう時期10年になります。 普段の業務では、PHPをメインにサーバーサイドの言語を扱っています。 最近のお気に入りはJavascriptです。 Vue.jsを狂喜乱舞しながら、社内に布教中です。

-EC-CUBE
-, , ,