Browse Source

Try validations in rake tasks and log when needing to skip them

pull/2444/head
Rachael Booth 2 years ago
parent
commit
29a98abfb2
  1. 6
      lib/tasks/recalculate_vacdays.rake

6
lib/tasks/recalculate_vacdays.rake

@ -2,9 +2,15 @@ desc "Recalculate vacdays after bugfix for daylight savings time changes"
task recalculate_vacdays: :environment do task recalculate_vacdays: :environment do
logs = LettingsLog.where.not(vacdays: nil) logs = LettingsLog.where.not(vacdays: nil)
logs.each do |log| logs.each do |log|
Rails.logger.log("Log #{log.id}")
recalculated_vacdays = log.send(:property_vacant_days) recalculated_vacdays = log.send(:property_vacant_days)
next if recalculated_vacdays == log.vacdays next if recalculated_vacdays == log.vacdays
log.vacdays = recalculated_vacdays
next if log.save
Rails.logger.log("Log #{log.id} could not be saved, saving updated vacdays without validation")
log.reload
log.vacdays = recalculated_vacdays log.vacdays = recalculated_vacdays
log.save!(validate: false) log.save!(validate: false)
end end

Loading…
Cancel
Save