From fbfbaa48a5cd376c7627fc9265985a3dc045545c Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Thu, 22 Jun 2023 22:03:43 +0900 Subject: [PATCH] Add unique index on mid --- modules/module/module.class.php | 13 +++++++++++-- modules/module/schemas/modules.xml | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/modules/module/module.class.php b/modules/module/module.class.php index 7778d7efa..e19fc2dbb 100644 --- a/modules/module/module.class.php +++ b/modules/module/module.class.php @@ -73,7 +73,10 @@ class Module extends ModuleObject // Add domain_srl column if (!$oDB->isColumnExists('modules', 'domain_srl')) return true; if (!$oDB->isIndexExists('modules', 'idx_domain_srl')) return true; - if (!$oDB->isIndexExists('modules', 'idx_mid')) return true; + if (!$oDB->isIndexExists('modules', 'idx_mid') && !$oDB->isIndexExists('modules', 'unique_mid')) + { + return true; + } // check fix mskin if(!$oDB->isColumnExists("modules", "is_mskin_fix")) return true; @@ -193,7 +196,13 @@ class Module extends ModuleObject { $oDB->addIndex('modules', 'idx_domain_srl', array('domain_srl')); } - if (!$oDB->isIndexExists('modules', 'idx_mid')) + + // Try adding a unique index on mid, but fall back to a regular index if not possible. + if (!$oDB->isIndexExists('modules', 'unique_mid')) + { + $oDB->addIndex('modules', 'unique_mid', array('mid'), true); + } + elseif (!$oDB->isIndexExists('modules', 'idx_mid')) { $oDB->addIndex('modules', 'idx_mid', array('mid')); } diff --git a/modules/module/schemas/modules.xml b/modules/module/schemas/modules.xml index 4d77670ec..f50e059be 100644 --- a/modules/module/schemas/modules.xml +++ b/modules/module/schemas/modules.xml @@ -5,7 +5,7 @@ - +