From 25c2bd7144184ee09a2d8682cc66ebf1d662f14f Mon Sep 17 00:00:00 2001 From: samyou-softwire Date: Wed, 15 Apr 2026 17:29:18 +0100 Subject: [PATCH] CLDC-4300: Update date correcting rake to also account for lasttransaction = initialpurchase --- ...s_logs_with_initialpurchase_same_as_saledate.rb | 10 ---------- ...th_invalid_initialpurchase_lasttransaction.rake | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 10 deletions(-) delete mode 100644 lib/tasks/fix_sales_logs_with_initialpurchase_same_as_saledate.rb create mode 100644 lib/tasks/fix_sales_logs_with_invalid_initialpurchase_lasttransaction.rake diff --git a/lib/tasks/fix_sales_logs_with_initialpurchase_same_as_saledate.rb b/lib/tasks/fix_sales_logs_with_initialpurchase_same_as_saledate.rb deleted file mode 100644 index 037d6659f..000000000 --- a/lib/tasks/fix_sales_logs_with_initialpurchase_same_as_saledate.rb +++ /dev/null @@ -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 diff --git a/lib/tasks/fix_sales_logs_with_invalid_initialpurchase_lasttransaction.rake b/lib/tasks/fix_sales_logs_with_invalid_initialpurchase_lasttransaction.rake new file mode 100644 index 000000000..a3f748e05 --- /dev/null +++ b/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