diff --git a/db/migrations/1.310_add_seminare_semester_table.php b/db/migrations/1.310_add_seminare_semester_table.php index 7986dcc65931c23496d6c20e0afc19ec877a9757..8ad19d78bb098032065fa53c43ad21a532dbb712 100644 --- a/db/migrations/1.310_add_seminare_semester_table.php +++ b/db/migrations/1.310_add_seminare_semester_table.php @@ -19,19 +19,15 @@ class AddSeminareSemesterTable extends Migration );" ); - //This select looks unorthodox but I am trying to catch even broken - //database entries for when start_time and duration_time don't exactly - //match the begin or end of the semester. DBManager::get()->exec(" INSERT IGNORE INTO `semester_courses` (`semester_id`, `course_id`, `mkdate`, `chdate`) SELECT `semester_data`.`semester_id`, `seminare`.`Seminar_id`, `seminare`.`mkdate`, `seminare`.`chdate` FROM `seminare` - INNER JOIN `semester_data` ON (`seminare`.`start_time` < `semester_data`.`ende` - AND ( - `seminare`.`start_time` >= `semester_data`.`beginn` AND `seminare`.`duration_time` >= '0' - ) - ) + INNER JOIN `semester_data` ON + `seminare`.`start_time` <= `semester_data`.`beginn` AND + `semester_data`.`beginn` <= `seminare`.`start_time` + `seminare`.`duration_time` AND + `seminare`.`duration_time` >= 0 "); }