EC-CUBE Lab
produced by Cajiya
EC-CUBEに関するカスタマイズ方法やトラブルへの対処方法を発信

商品の個別ポイント付与率が基本設定より優先される問題の解決方法

公開日: 2025年09月24日 | 更新日: 2025年11月02日
ポイント データ不整合 EC-CUBE 4系全般 データ移行/補正

要望や症状

EC-CUBE 2系から移行したサイトで、管理画面の基本設定でポイント付与率を変更したにも関わらず、注文後に付与されるポイントが設定した値と異なるケースがあります。

理由や原因

EC-CUBE 4系では、商品データ(dtb_product_classテーブル)のpoint_rateフィールドに値が設定されている場合、そちらの値が基本設定のポイント付与率より優先される仕様となっています。

この問題は特に、EC-CUBE 2系から移行したサイトで発生しやすい現象です。EC-CUBE 2系では商品ごとのポイント付与率設定が一般的に利用されていたため、データ移行時にこれらの個別設定値がそのまま保持されます。その結果、管理者が基本設定で付与率を変更しても、個別に設定された商品のポイント付与率が優先され、変更が反映されない状況が発生してしまいます。

解決策

商品個別のポイント付与率をnullに設定することで、基本設定のポイント付与率が適用されるようになります。

事前確認

作業を始める前に、現在どの程度の商品に個別のポイント付与率が設定されているかを確認します。

SELECT COUNT(*) FROM dtb_product_class WHERE point_rate IS NOT NULL;

バックアップの作成

データベースの変更を行う前に、必ずバックアップを作成してください。

# MySQLの場合
mysqldump -u username -p database_name > backup_$(date +%Y%m%d_%H%M%S).sql

検証環境での事前テスト

本番環境で実行する前に、検証環境で以下の手順を実施し、想定通りの結果が得られることを確認してください。

データベースでの一括変更

全商品の個別ポイント付与率をnullに設定するSQLを実行します。

UPDATE dtb_product_class SET point_rate = null;

特定の商品のみポイント付与率を個別に設定したい場合は、対象商品を除外するWHERE句をSQLに追加してください。例えば、商品ID 100番を除外する場合は以下のようになります。

UPDATE dtb_product_class SET point_rate = null WHERE product_id != 100;

動作確認

SQLの実行後は、以下の手順で正常に動作することを確認してください。

  1. 管理画面で基本設定のポイント付与率が表示されることを確認
  2. テスト注文を行い、基本設定の付与率でポイントが正しく計算されることを確認
  3. 複数の商品で同様の動作確認を実施

注意事項

データベースの直接変更は不可逆的な操作です。作業前のバックアップ取得は必須となります。また、本番環境での作業前には、必ず検証環境で十分なテストを実施してください。

免責事項

本記事に掲載しているコードや手順は、執筆時点での情報および特定の環境下での動作確認に基づいています。 EC-CUBEのバージョン、サーバー環境、導入済みプラグインとの競合などにより、予期せぬ不具合が発生する可能性があります。

本記事の内容を実行した結果、生じた損害(データの消失、サイトの停止、機会損失など)について、当サイトおよび管理者は一切の責任を負いかねます。 実装にあたっては、必ずバックアップを取得し、検証環境(テスト環境)での動作確認を行った上で、ご自身の責任において実施してください。

この記事は参考になりましたか?

著者プロフィール: 株式会社カジヤ

当社はWeb業界の専門家として、培った経験や技術、自社事業を通して得た知見を土台に、 お客様の事業の成長を後押しすることを提供価値として活動する、Web事業の成長支援会社です。 EC-CUBE公式のパートナー制度「EC-CUBE インテグレートパートナー」に登録してしており、上位11%にあたる「ゴールドランク」に認定された実績があり、新しい通販サイトの構築から、カスタマイズ、リニューアルまで幅広く対応します。

ポイント の関連記事

ポイント EC-CUBE 4系全般
ポイント付与を金額1,000円ごとの固定方式に変更するカスタマイズ方法

EC-CUBEのデフォルト設定では、購入金額に対してポイント付与率(パーセンテージ)によってポイント...

👍 0 / 👎 0 2025年10月12日
ポイント データ不整合 EC-CUBE 4系全般
EC-CUBE4系で特定の会員へ個別にポイント付与する方法

特定の会員に対して、購入履歴とは別に個別でポイントを付与したいという要望があります。 ### ...

👍 0 / 👎 0 2025年09月22日

データ不整合 の関連記事

商品 データ不整合 EC-CUBE 4系全般
EC-CUBEで取り扱い終了商品の削除ができない理由と対応方法

EC-CUBEでは、取り扱いを終了した商品を削除したい場合に、削除ができない状態になることがあります...

👍 1 / 👎 0 2025年10月12日
管理画面共通 データ不整合 EC-CUBE 4系全般
CloudFrontやロードバランサー経由でも実際のアクセス元IPアドレスをログに記録する方法

AWS CloudFrontやロードバランサー、クラウド型WAFを使用している環境において、EC-C...

👍 0 / 👎 0 2025年09月23日
ポイント データ不整合 EC-CUBE 4系全般
EC-CUBE4系で特定の会員へ個別にポイント付与する方法

特定の会員に対して、購入履歴とは別に個別でポイントを付与したいという要望があります。 ### ...

👍 0 / 👎 0 2025年09月22日

EC-CUBE 4系全般 の関連記事

商品 データ不整合 EC-CUBE 4系全般
EC-CUBEで取り扱い終了商品の削除ができない理由と対応方法

EC-CUBEでは、取り扱いを終了した商品を削除したい場合に、削除ができない状態になることがあります...

👍 1 / 👎 0 2025年10月12日
インストール・セットアップ EC-CUBE 4系全般 設定変更
EC-CUBEサイトのドメイン変更時の設定変更方法

EC-CUBEで構築したサイトを新しいドメインで公開する際に、どのような設定変更が必要かわからない場...

👍 0 / 👎 0 2025年10月12日
メール通知 通知/コミュニケーション EC-CUBE 4系全般
メール件名のショップ名を英語表記に変更する方法

EC-CUBE 4系で、メール件名の先頭に自動挿入される店舗名を英語表記に変更したい場合があります。...

👍 0 / 👎 0 2025年10月12日
フロント共通 機能不動作 EC-CUBE 4系全般
CloudFrontを利用時にリンクのドメインがEC2のパブリックDNSになってしまう問題の解決方法

EC-CUBE 4.2をAWS ECS on EC2上で構築し、CloudFrontをCDNとして利...

👍 1 / 👎 0 2025年10月12日
サイト全体 500エラー EC-CUBE 4系全般
EC-CUBEでメモリ不足エラーが発生した場合の対処方法

EC-CUBEの運用中に以下のようなメモリ不足エラーが発生することがあります。 ### エラー...

👍 1 / 👎 0 2025年10月12日