From eb8eda927938b6d932606ebaa905579e54a1d138 Mon Sep 17 00:00:00 2001 From: Stella Rouzi Date: Thu, 19 May 2016 12:57:28 +0300 Subject: [PATCH] Add task to fix room and difficulty_level foreign_keys --- lib/tasks/events.rake | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/lib/tasks/events.rake b/lib/tasks/events.rake index e90e3715..d957d014 100644 --- a/lib/tasks/events.rake +++ b/lib/tasks/events.rake @@ -1,5 +1,6 @@ namespace :events do - desc 'Create demo data using our factories' + desc 'Nullifies wrong foreign keys for Track, Room, DifficultyLevel' + task fix_wrong_track: :environment do events = Event.all.select { |e| e.track_id && Track.find_by(id: e.track_id).nil? } puts "Will remove track_id from #{ActionController::Base.helpers.pluralize(events.length, 'event')}." @@ -13,4 +14,32 @@ namespace :events do puts 'All done!' end end + + task fix_wrong_difficulty_level: :environment do + events = Event.all.select { |e| e.difficulty_level_id && DifficultyLevel.find_by(id: e.difficulty_level_id).nil? } + puts "Will remove difficulty_level_id from #{ActionController::Base.helpers.pluralize(events.length, 'event')}." + + if events.any? + puts "Event IDs: #{events.map(&:id)}" + events.each do |event| + event.difficulty_level_id = nil + event.save! + end + puts 'All done!' + end + end + + task fix_wrong_room: :environment do + events = Event.all.select { |e| e.room_id && Room.find_by(id: e.room_id).nil? } + puts "Will remove track_id from #{ActionController::Base.helpers.pluralize(events.length, 'event')}." + + if events.any? + puts "Event IDs: #{events.map(&:id)}" + events.each do |event| + event.room_id = nil + event.save! + end + puts 'All done!' + end + end end