Sha256: b5d796167e08580f0bfd96aa4ab4736802a6c09a787fbeea4c54b23bc1130f0e

Contents?: true

Size: 844 Bytes

Versions: 18

Compression:

Stored size: 844 Bytes

Contents

class RefactorBusLists < ActiveRecord::Migration[5.2]
  def up
    make_new_change
    BusList.all.each do |bus_list|
      Questionnaire.joins(
        :school
      ).where(
        "schools.bus_list_id = ? AND riding_bus = 1 AND (acc_status = 'accepted' OR acc_status = 'rsvp_confirmed')", bus_list.id
      ).all.each do |q|
        q.update_attribute(:bus_list_id, bus_list.id)
      end
    end
    cleanup_old
  end

  def down
    revert { cleanup_old }
    BusList.all.each do |bus_list|
      bus_list.passengers.each do |passengers|
        passengers.update_attribute(:riding_bus, true)
      end
    end
    revert { make_new_change }
  end

  private

  def make_new_change
    add_reference :questionnaires, :bus_list, type: :integer, foreign_key: true
  end

  def cleanup_old
    remove_column :schools, :bus_list_id
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
hackathon_manager-0.14.1 db/migrate/20190113231044_refactor_bus_lists.rb
hackathon_manager-0.14.0 db/migrate/20190113231044_refactor_bus_lists.rb
hackathon_manager-0.13.12 db/migrate/20190113231044_refactor_bus_lists.rb
hackathon_manager-0.13.11 db/migrate/20190113231044_refactor_bus_lists.rb
hackathon_manager-0.13.10 db/migrate/20190113231044_refactor_bus_lists.rb
hackathon_manager-0.13.9 db/migrate/20190113231044_refactor_bus_lists.rb
hackathon_manager-0.13.8 db/migrate/20190113231044_refactor_bus_lists.rb
hackathon_manager-0.13.7 db/migrate/20190113231044_refactor_bus_lists.rb
hackathon_manager-0.13.6 db/migrate/20190113231044_refactor_bus_lists.rb
hackathon_manager-0.13.5 db/migrate/20190113231044_refactor_bus_lists.rb
hackathon_manager-0.13.4 db/migrate/20190113231044_refactor_bus_lists.rb
hackathon_manager-0.13.3 db/migrate/20190113231044_refactor_bus_lists.rb
hackathon_manager-0.13.2 db/migrate/20190113231044_refactor_bus_lists.rb
hackathon_manager-0.13.1 db/migrate/20190113231044_refactor_bus_lists.rb
hackathon_manager-0.13.0 db/migrate/20190113231044_refactor_bus_lists.rb
hackathon_manager-0.12.2 db/migrate/20190113231044_refactor_bus_lists.rb
hackathon_manager-0.12.1 db/migrate/20190113231044_refactor_bus_lists.rb
hackathon_manager-0.12.0 db/migrate/20190113231044_refactor_bus_lists.rb