class AddAttendanceToCourseModule < ActiveRecord::Migration[5.2]
  def change
    Course.all.each do |course|
      unless course.course_modules.exists?(module_type: "attendance")
        atta_position = course.course_modules.find_by(module_type: 'course_group')&.position.to_i
        attendance_position = atta_position != 0 ? (atta_position + 1) : 14
        course.course_modules.where("position >= #{attendance_position}").update_all("position = position + 1")
        if course.is_end
          course.course_modules << CourseModule.new(module_type: "attendance", hidden: 1, module_name: "签到", position: attendance_position)
        else
          course.course_modules << CourseModule.new(module_type: "attendance", hidden: 0, module_name: "签到", position: attendance_position)
        end
      end
    end
  end
end