質問 > フロント機能 > 別バージョンにデータを移植したらカートに商品が追加できなくなった |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
non888 |
投稿日時: 2019/2/20 13:25
対応状況: −−−
|
常連 登録日: 2019/2/4 居住地: 投稿: 65 |
別バージョンにデータを移植したらカートに商品が追加できなくなった EC-CUBEバージョン:2.13.5
現サイト「EC-CUBEバージョン2.12.6」から上記バージョン(新サイト)へデータ移植を行ったのですが、新サイト側で商品のカート追加ができなくなってしまいました。 特にエラーなどおきておらず、「※【商品名】は売り切れました。」と表示されてしまいます。 データ移植後管理画面より該当商品を確認したのですが、数量無制限にチェックが入っている状態です。 問題に対してどこをチェックしたらいいか分からない状態なので、助言をいただけますでしょうか。 また、下記DB情報を現サイトから新サイトへ移植したのですが、「dtb_products_class_product_class_id_seq」と「dtb_products_product_id_seq」が元々なく新サイトでは、初期のデータのままになっております。 ・dtb_baseinfo ・dtb_category ・dtb_category_count ・dtb_category_total_count ・dtb_class ・dtb_classcategory ・dtb_customer ・dtb_customer_favorite_products ・dtb_kiyaku ・dtb_mail_history ・dtb_mailmaga_template ・dtb_mailtemplate ・dtb_news ・dtb_order ・dtb_order_detail ・dtb_order_temp ・dtb_other_deliv ・dtb_product_categories ・dtb_product_status ・dtb_products ・dtb_products_class ・dtb_recommend_products ・dtb_review ・dtb_send_customer ・dtb_send_history ・dtb_shipment_item ・dtb_shipping |
468 |
投稿日時: 2019/2/20 14:10
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 別バージョンにデータを移植したらカートに商品が追加できなくなった 確認ですが、データベースのdtb_products_classテーブルのstock_unlimitedにはどのような値が入っていますか?
もし、1以外の値が入っているとカート内商品の妥当性チェックで在庫無制限と判定されていないと思われます。 表示されるメッセージから /data/class/SC_CartSession.php 650行目を通っていると予想されます。
|
non888 |
投稿日時: 2019/2/20 14:52
対応状況: −−−
|
常連 登録日: 2019/2/4 居住地: 投稿: 65 |
Re: 別バージョンにデータを移植したらカートに商品が追加できなくなった ご返答ありがとうございます。
確認しましたが、「stock_unlimited」は1が設定されているようです。 すみません、データベース内の構造についてあまり理解ができておらずお聞きするのですが、下記のテーブルはそれぞれどんな役割があるのでしょうか。 ・dtb_products_product_id_seq ・dtb_products_class_product_class_id_seq |
468 |
投稿日時: 2019/2/20 15:05
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 別バージョンにデータを移植したらカートに商品が追加できなくなった 確かIDのインクリメントを管理する為に存在していたと思います。
dtb_products_product_id_seqはdtb_productsテーブルのproduct_id, dtb_products_class_product_class_id_seqはdtb_products_classテーブルのproduct_class_idの最大値か、最大値+1を格納する仕様だったと思います。 IDの連番管理に MySQLではオートインクリメントの機能を利用すると思いますが、 PostgreSQLではシーケンスの機能を利用します。 多分、どちらのDBを利用しても、構造上の差異を無くす為にシーケンス用のテーブルを利用する形で設計されたのではないかと思います。 (正確な理由は知らないので、あくまで私個人の想像です) seq = シーケンスの事かと思います。 このテーブルが在庫チェックに直接関連している可能性は低いのではないかと思います。 たぶん、今のままだと商品の新規登録時にエラーが出て登録できないのではないかと思います。
|
yuh |
投稿日時: 2019/2/20 15:07
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: 別バージョンにデータを移植したらカートに商品が追加できなくなった sale_limitが設定されているかどうか確認してみてください。
・dtb_products_product_id_seq ・dtb_products_class_product_class_id_seq のテーブルはそれぞれproduct_idとclass_product_class_idを新しく取得するときに使用するもので、データ移行時にはautoincrementの値も移す必要があります。
|
non888 |
投稿日時: 2019/2/20 15:22
対応状況: 解決済
|
常連 登録日: 2019/2/4 居住地: 投稿: 65 |
Re: 別バージョンにデータを移植したらカートに商品が追加できなくなった ありがとうございます。
データ移植時「sale_limit」が0になってしまったのが原因だったようです。 NULLに変更したら正常にカートに追加ができました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |