Browse Source

CLDC-4300: Update date correcting rake to also account for lasttransaction = initialpurchase

pull/3307/head
samyou-softwire 3 weeks ago
parent
commit
25c2bd7144
  1. 10
      lib/tasks/fix_sales_logs_with_initialpurchase_same_as_saledate.rb
  2. 14
      lib/tasks/fix_sales_logs_with_invalid_initialpurchase_lasttransaction.rake

10
lib/tasks/fix_sales_logs_with_initialpurchase_same_as_saledate.rb

@ -1,10 +0,0 @@
desc "We tightened the validation between initial purchase date and sale date so the two can no longer be equal. To avoid invalid logs we clear initialpurchase if it equals saledate"
task fix_sales_logs_with_initialpurchase_same_as_saledate: :environment do
logs = SalesLog.filter_by_year_or_later(2025).where("initialpurchase = saledate")
puts "Updating #{logs.count} logs, #{logs.map(&:id)}"
logs.update!(initialpurchase: nil)
puts "Done"
end

14
lib/tasks/fix_sales_logs_with_invalid_initialpurchase_lasttransaction.rake

@ -0,0 +1,14 @@
desc "We tightened the validation between initial purchase date and sale date so the two can no longer be equal. To avoid invalid logs we clear initialpurchase if it equals saledate"
task fix_sales_logs_with_invalid_initialpurchase_lasttransaction: :environment do
initial_purchase_equal_saledate_logs = SalesLog.filter_by_year_or_later(2025).where("initialpurchase = saledate")
initial_purchase_equal_lasttransaction_logs = SalesLog.filter_by_year_or_later(2025).where("initialpurchase = lasttransaction")
puts "Updating #{initial_purchase_equal_saledate_logs.count} logs where initialpurchase = saledate, #{initial_purchase_equal_saledate_logs.map(&:id)}"
initial_purchase_equal_saledate_logs.update!(initialpurchase: nil)
puts "Updating #{initial_purchase_equal_lasttransaction_logs.count} logs where initialpurchase = lasttransaction, #{initial_purchase_equal_lasttransaction_logs.map(&:id)}"
initial_purchase_equal_lasttransaction_logs.update!(initialpurchase: nil, lasttransaction: nil)
puts "Done"
end
Loading…
Cancel
Save