バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
468
投稿日時: 2020/5/11 19:17
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
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
居住地:
投稿: 3217
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
居住地:
投稿: 3217
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公式 Amazon Payプラグイン

統計情報

総メンバー数は88,855名です
総投稿数は109,989件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1291
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

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

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