From 64b35edad2588e1b2c05a1026e5de65e31c91ab8 Mon Sep 17 00:00:00 2001
From: = <peter.mayer@isb.bayern.de>
Date: Fri, 4 Mar 2022 11:26:19 +0100
Subject: [PATCH] MBS-4967: Adding check for index_exists to upgrade.php

---
 db/upgrade.php | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/db/upgrade.php b/db/upgrade.php
index dee0096..dcad1a6 100644
--- a/db/upgrade.php
+++ b/db/upgrade.php
@@ -524,14 +524,16 @@ function hvp_upgrade_2020082800() {
  * Drop old unused unique index, add nonunique index.
  */
 function hvp_upgrade_2020091500() {
-      global $DB;
-      $dbman = $DB->get_manager();
-      $table = new xmldb_table('hvp_xapi_results');
-      $index = new xmldb_index('results', XMLDB_INDEX_NOTUNIQUE, ['content_id', 'user_id']);
-      $dbman->add_index($table, $index);
-
-      $oldindex = new xmldb_index('result', XMLDB_INDEX_UNIQUE, ['id', 'content_id', 'user_id']);
-      $dbman->drop_index($table, $oldindex);
+    global $DB;
+    $dbman = $DB->get_manager();
+    $table = new xmldb_table('hvp_xapi_results');
+    $index = new xmldb_index('results', XMLDB_INDEX_NOTUNIQUE, ['content_id', 'user_id']);
+    if (!$dbman->index_exists($table, $index)) {
+        $dbman->add_index($table, $index);
+    }
+
+    $oldindex = new xmldb_index('result', XMLDB_INDEX_UNIQUE, ['id', 'content_id', 'user_id']);
+    $dbman->drop_index($table, $oldindex);
 }
 
 function hvp_upgrade_2020112600() {
-- 
GitLab