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