I've two counter_cache, one for total number of campaign_codes
and one only when campaign_code
was used - campaign_codes.where(state: 'used')
. To update total number of campaign_codes
in the rails c
I used script like:
CreditCampaign.reset_counters(CreditCampaign.first.id, :campaign_codes)
but this works only for total number of campaign_codes. How to setup the script in console for used campaign?
CampaignCode
model
class CampaignCode < ApplicationRecord
belongs_to :credit_campaign, counter_cache: :total_campaign_codes_amount
belongs_to :used_credit_campaign, -> { where(state: 'used') }, class_name: 'CampaignCode', counter_cache: :used_campaign_codes_amount, optional: true
end
CreditCampaign
model
class CreditCampaign < ApplicationRecord
has_many :campaign_codes
end