18 declare(strict_types=1);
31 if (!$this->db->indexExistsByFields($table, $fields)) {
32 $this->db->addIndex($table, $fields, $name);
45 $pattern =
'/^(a:\d+:\{.*\})\1+$/s';
46 return (preg_match($pattern, $types, $matches)) ? $matches[1] : $types;
60 $this->db->manipulate(
'UPDATE `ecs_course_assignments` inner join ecs_import on ecs_course_assignments.obj_id = ecs_import.obj_id SET ecs_course_assignments.`cms_sub_id`=ecs_import.sub_id WHERE ecs_import.sub_id is null;');
74 $query =
'SELECT sid, mid, import_types FROM ecs_part_settings';
75 $rows = $this->db->query($query);
78 if ($row->import_types !== $fixed) {
79 $update_query =
'UPDATE ecs_part_settings SET ' .
81 'WHERE sid = ' . $row->sid .
' ' .
82 'AND mid = ' . $row->mid;
83 $this->db->manipulate($update_query);
step_1()
Fix wrong data entries in ecs_course_assignments.
prepare(ilDBInterface $db)
fix_duplicate_import_types(string $types)
Class ilECSUpdateSteps9 contains update steps for release 9.
ensure_index_exists(string $table, array $fields, string $name)