Browse Source
* CLDC-4400: update 2025 options and hide 10 from ui * CLDC-4400: add rake task to remap values * CLDC-4400: tweak desc and rename * CLDC-4400: update spec * CLDC-4400: rename task file * CLDC-4400: rename task file * CLDC-4400: rename task file * CLDC-4400: refactor usage error * CLDC-4400: use datetime not date in case logs are made between release and rake task completion * CLDC-4400: before_date -> before_datetime * CLDC-4400: print log ids and use update!CLDC-4389-field-128-validation-prioritisation^2
3 changed files with 56 additions and 6 deletions
@ -0,0 +1,24 @@
|
||||
desc "Remaps hhregresstill values for manually created 2025/26 sales logs" |
||||
task :remap_2025_hhregresstill_values, %i[before_datetime] => :environment do |_task, args| |
||||
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_datetime].blank? |
||||
|
||||
before_datetime = Time.zone.parse(args[:before_datetime]) |
||||
raise usage_message if before_datetime.nil? |
||||
|
||||
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" |
||||
|
||||
updated_ids = [] |
||||
logs.find_each do |log| |
||||
new_value = case log.hhregresstill |
||||
when 5 then 10 |
||||
when 6, 7 then 9 |
||||
end |
||||
log.update!(hhregresstill: new_value) |
||||
updated_ids << log.id |
||||
end |
||||
|
||||
puts "Updated log IDs: #{updated_ids.join(', ')}" |
||||
puts "Done" |
||||
end |
||||
Loading…
Reference in new issue