desc "Correct invalid BU reasonable preference values" task correct_reasonpref_values: :environment do %w[rp_homeless rp_hardship rp_medwel rp_insan_unsat rp_dontknow].each do |field| field_invalid = "#{field} != 1 AND #{field} != 0 AND #{field} is NOT NULL" LettingsLog.filter_by_year(2024).where(field_invalid).find_each do |lettings_log| lettings_log[field] = 0 unless lettings_log.save Rails.logger.info("Failed to save reasonpref for LettingsLog with id #{lettings_log.id}: #{lettings_log.errors.full_messages}") end end LettingsLog.filter_by_year(2023).where(field_invalid).update_all("#{field}": 0) end end