Merge branch 'MDL-46651-master-restore-course-completion-duplicate-key' of https://github.com/Trii/moodle
This commit is contained in:
@@ -2630,7 +2630,21 @@ class restore_course_completion_structure_step extends restore_structure_step {
|
||||
'timecompleted' => $this->apply_date_offset($data->timecompleted),
|
||||
'reaggregate' => $data->reaggregate
|
||||
);
|
||||
$DB->insert_record('course_completions', $params);
|
||||
|
||||
$existing = $DB->get_record('course_completions', array(
|
||||
'userid' => $data->userid,
|
||||
'course' => $data->course
|
||||
));
|
||||
|
||||
// MDL-46651 - If cron writes out a new record before we get to it
|
||||
// then we should replace it with the Truth data from the backup.
|
||||
// This may be obsolete after MDL-48518 is resolved
|
||||
if ($existing) {
|
||||
$params['id'] = $existing->id;
|
||||
$DB->update_record('course_completions', $params);
|
||||
} else {
|
||||
$DB->insert_record('course_completions', $params);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user