Browse Source

CLDC-4400: use datetime not date in case logs are made between release and rake task completion

pull/3310/head
Nat Dean-Lewis 3 weeks ago
parent
commit
cb0abece53
  1. 11
      lib/tasks/remap_2025_hhregresstill_values.rake

11
lib/tasks/remap_2025_hhregresstill_values.rake

@ -1,15 +1,12 @@
desc "Remaps hhregresstill values for manually created 2025/26 sales logs" desc "Remaps hhregresstill values for manually created 2025/26 sales logs"
task :remap_2025_hhregresstill_values, %i[before_date] => :environment do |_task, args| task :remap_2025_hhregresstill_values, %i[before_date] => :environment do |_task, args|
usage_message = "Usage: rake remap_2025_hhregresstill_values['before_date']. before_date must be in format YYYY-MM-DD" usage_message = "Usage: rake remap_2025_hhregresstill_values['before_datetime']. before_datetime must be in format YYYY-MM-DDTHH:MM:SS"
raise usage_message if args[:before_date].blank? raise usage_message if args[:before_date].blank?
begin before_datetime = Time.zone.parse(args[:before_date])
before_date = Date.parse(args[:before_date]) raise usage_message if before_datetime.nil?
rescue Date::Error
raise usage_message
end
logs = SalesLog.filter_by_year(2025).where(bulk_upload_id: nil).where(hhregresstill: [5, 6, 7]).where("created_at < ?", before_date) logs = SalesLog.filter_by_year(2025).where(bulk_upload_id: nil).where(hhregresstill: [5, 6, 7]).where("created_at < ?", before_datetime)
puts "Updating #{logs.count} sales logs" puts "Updating #{logs.count} sales logs"
logs.where(hhregresstill: 5).update_all(hhregresstill: 10) logs.where(hhregresstill: 5).update_all(hhregresstill: 10)

Loading…
Cancel
Save