バージョン選択

フォーラム

メニュー

オンライン状況

59 人のユーザが現在オンラインです。 (35 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 59
もっと...

サイト内検索

質問 > 管理機能 > 規格の編集でエラーが出ます

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
468
投稿日時: 2020/5/11 19:17
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 2292
Re: 規格の編集でエラーが出ます
デフォルトのデータベースで確認する限りでは
dtb_order_detailのpoint_rateはnot nullでdefault 0が設定されているようです。

dtb_order_detailテーブルは商品規格ページの変更には直接は関係ないと思いますが
もしかしたら、最初の商品登録をSQLで直接実施されたりしましたか?
その時にpoint_rateをnullで登録されたりしたのでしょうか?
その後、注文時のエラー解消の為にdtb_order_detailテーブルpoint_rateカラムのnot nullも変更されたという可能性があるのでしょうか?

現状、受注関連で支障がないのであれば、dtb_order_detailテーブルの定義は変更しないほうが良いのではないでしょうか?
注文が通らなくなったりするのは一番困るのではないでしょうか?


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

K.M
投稿日時: 2020/5/12 10:16
対応状況: −−−
半人前
登録日: 2019/10/3
居住地:
投稿: 12
Re: 規格の編集でエラーが出ます
実は数年前、サーバが急に移転を行ったせいでEC-CUBEが稼働しなくなり、旧サーバからデータを引っこ抜いて現サーバへ移動し、原状回帰を試みて再構築したということがありました。
EC-CUBE自体の再構築は比較的問題なくできたそうですが、元のDBはMySQLだったところからPosgleSQLでないと対応ができないという状況になり、データの移行を行ったようです。
当時、その作業に携わった担当の内、DBに携わったものが退職したため、詳細の確認はできませんでした。
ですが、EC-CUBE側(html)の担当者によると、DBの構造は変えていないと聞いているそうなので、データの入力をした際にdefault 0がNullに代わってしまったのではないかと考えております。
実際のところ、ポイント付与の機能は使っておりません。
そしてカラムの中を確認すると
point_rate/count
0/20
NULL/1675
となっており、もとからdefault 0で使用されていたのではないかと考えております。

今回のエラーには問題ないpoint_rateということでしょうか?
468
投稿日時: 2020/5/13 9:10
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 2292
Re: 規格の編集でエラーが出ます
dtb_order_detailテーブルの設定は商品規格の編集画面のエラーには関係ないとは思います。
ただ、あくまでお聞きしている範囲での予想ですので絶対関係無いのかと言われると保証は致しかねます。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

K.M
投稿日時: 2020/5/14 16:20
対応状況: −−−
半人前
登録日: 2019/10/3
居住地:
投稿: 12
Re: 規格の編集でエラーが出ます
同じpoint_rateというカラムでも、関係があるとは限らないということですね。
ありがとうございます。

結局いまだ解決できず、情報をかき集めながらデバッグ情報を確認しております。
何度見てもpoint_rateにnullは入っておらず、解決の糸口が見えません。

SQLの知識に疎くて申し訳ないのですが、

SQL: [INSERT INTO dtb_products_class(classcategory_id1,classcategory_id2,product_code,stock,price01,product_type_id,down_filename,down_realfilename,product_id,sale_limit,deliv_fee,point_rate,stock_unlimited,price02,creator_id,update_date,del_flg,create_date,product_class_id) SELECT $1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,CURRENT_TIMESTAMP,$16,CURRENT_TIMESTAMP,$17]
PlaceHolder: [array (
0 => '264',
1 => '0',
2 => '',
3 => '',
4 => '',
5 => '1',
6 => '',
7 => '',
8 => '508',
9 => NULL,
10 => NULL,
11 => NULL,
12 => 0,
13 => 0,
14 => '2',
15 => 1,
16 => 3916,
)]

ここの部分が気になり、項目数を確認しました。
INTO指定している項目は
classcategory_id1,
classcategory_id2,
product_code,
stock,
price01,
product_type_id,
down_filename,
down_realfilename,
product_id,
sale_limit,
deliv_fee,
point_rate,
stock_unlimited,
price02,
creator_id,
update_date,
del_flg,
create_date,
product_class_id
の19項目、
SELECTで指定している項目も
$1
$2
$3
$4
$5
$6
$7
$8
$9
$10
$11
$12
$13
$14
$15
CURRENT_TIMESTAMP
$16
CURRENT_TIMESTAMP
$17
の19項目なのですが、
PlaceHolderで表示されている数値は17項目です。
point_rateが12番目に該当するのですが、PlaceHolderでの12番目はNULLになっており
本来point_rateが当てはまるところに他の項目から数値を引っ張っているのでは?と思ったのですが、この考え方はおかしいでしょうか。
もし上の仮定が正しい場合、このpoint_rateがどこから数値を引っ張っているのか確認するためには
何処を見ればよいのか、お教えいただけないでしょうか。

長文で申し訳ございません。よろしくお願いいたします。
468
投稿日時: 2020/5/14 19:11
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 2292
Re: 規格の編集でエラーが出ます
>本来point_rateが当てはまるところに他の項目から数値を引っ張っているのでは?と思ったのですが、この考え方はおかしいでしょうか。

可能性は無いとは言えませんので、実際にソースを追って確認されてみては如何でしょうか?

INSERT文を実行しているのは
LC_Page_Admin_Products_ProductClass.php 279行目付近の
$objQuery->insert('dtb_products_class', $arrPC);
の記述かと思います。
値は$arrPCの配列で渡していると思いますので
$arrPCの中がどうなっているか遡って確認してみてください。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

« 1 (2)
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は62,232名です
総投稿数は96,231件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
468
2292
4
nanasess
2044
5
yuh
1612
6
umebius
1588
7
red
1403
8
h_tanaka
1009
9
fukap
907
10
tsuji
863
11
shutta
835
12
tao_s
792
13 ramrun 789
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.