From 26ddd6cdc3d3d974c75ec7bc2e0a3ecb23678b39 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Mon, 11 Jun 2018 23:50:38 +0900 Subject: [PATCH] =?UTF-8?q?module=5Fpart=5Fconfig=20=ED=85=8C=EC=9D=B4?= =?UTF-8?q?=EB=B8=94=EC=97=90=20unique=20key=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit xpressengine/xe-core#2242 이미 있는 idx_module_part_config 인덱스를 대체함. --- modules/module/module.class.php | 41 +++++++++++++++++-- modules/module/schemas/module_part_config.xml | 6 +-- 2 files changed, 40 insertions(+), 7 deletions(-) diff --git a/modules/module/module.class.php b/modules/module/module.class.php index 97488a407..121410040 100644 --- a/modules/module/module.class.php +++ b/modules/module/module.class.php @@ -54,7 +54,7 @@ class module extends ModuleObject { $oDB = &DB::getInstance(); // 2008. 10. 27 Add multi-index in the table, the module_part_config - if(!$oDB->isIndexExists("module_part_config","idx_module_part_config")) return true; + if(!$oDB->isIndexExists('module_part_config', 'idx_module_part_config') && !$oDB->isIndexExists('module_part_config', 'unique_module_part_config')) return true; // 2008. 11. 13 Delete unique constraint on mid in modules. Add site_srl and then create unique index on site_srl and mid if(!$oDB->isIndexExists('modules',"idx_site_mid")) return true; // Move permissions/skin information of all modules to the table, grants. @@ -103,6 +103,17 @@ class module extends ModuleObject $oModuleModel = getModel('module'); $moduleConfig = $oModuleModel->getModuleConfig('module'); if(!$moduleConfig->isUpdateFixedValue) return true; + + // check unique index on module_part_config + if($oDB->isIndexExists('module_part_config', 'idx_module_part_config')) return true; + if(!$oDB->isIndexExists('module_part_config', 'unique_module_part_config')) return true; + + // check module_part_config data type + $column_info = $oDB->getColumnInfo('module_part_config', 'config'); + if($column_info->xetype !== 'bigtext') + { + return true; + } // check module_config data type $column_info = $oDB->getColumnInfo('module_config', 'config'); @@ -119,7 +130,7 @@ class module extends ModuleObject { $oDB = &DB::getInstance(); // 2008. 10. 27 module_part_config Add a multi-index to the table and check all information of module_configg - if(!$oDB->isIndexExists("module_part_config","idx_module_part_config")) + if(!$oDB->isIndexExists('module_part_config', 'idx_module_part_config') && !$oDB->isIndexExists('module_part_config', 'unique_module_part_config')) { $oModuleModel = getModel('module'); $oModuleController = getController('module'); @@ -176,8 +187,8 @@ class module extends ModuleObject } } } - $oDB->addIndex("module_part_config","idx_module_part_config", array("module","module_srl")); } + // 2008. 11. 13 drop index(unique_mid). Add a column and index on site_srl and mid columns if(!$oDB->isIndexExists('modules',"idx_site_mid")) { @@ -185,17 +196,20 @@ class module extends ModuleObject $oDB->addColumn('modules','site_srl','number',11,0,true); $oDB->addIndex("modules","idx_site_mid", array("site_srl","mid"),true); } + // document extra vars if(!$oDB->isTableExists('document_extra_vars')) $oDB->createTableByXmlFile('./modules/document/schemas/document_extra_vars.xml'); - if(!$oDB->isTableExists('document_extra_keys')) $oDB->createTableByXmlFile('./modules/document/schemas/document_extra_keys.xml'); + // Move permission, skin info, extection info, admin ID of all modules to the table, grants if($oDB->isColumnExists('modules', 'grants')) { $oModuleController = getController('module'); $oDocumentController = getController('document'); + // Get a value of the current system language code $lang_code = Context::getLangType(); + // Get module_info of all modules $output = executeQueryArray('module.getModuleInfos'); if(count($output->data)) @@ -290,6 +304,7 @@ class module extends ModuleObject } // for total_pages } // if count } + // Additional variables of the module, remove $module_info->grant = null; $module_info->extra_vars = null; @@ -300,6 +315,7 @@ class module extends ModuleObject Rhymix\Framework\Cache::clearGroup('site_and_module'); } } + // Various column drop $oDB->dropColumn('modules','grants'); $oDB->dropColumn('modules','admin_id'); @@ -385,6 +401,23 @@ class module extends ModuleObject $output = $oModuleController->updateModuleConfig('module', $moduleConfig); } + // check unique index on module_part_config + if($oDB->isIndexExists('module_part_config', 'idx_module_part_config')) + { + $oDB->dropIndex('module_part_config', 'idx_module_part_config'); + } + if(!$oDB->isIndexExists('module_part_config', 'unique_module_part_config')) + { + $oDB->addIndex('module_part_config', 'unique_module_part_config', array('module', 'module_srl'), true); + } + + // check module_part_config data type + $column_info = $oDB->getColumnInfo('module_part_config', 'config'); + if($column_info->xetype !== 'bigtext') + { + $oDB->modifyColumn('module_part_config', 'config', 'bigtext'); + } + // check module_config data type $column_info = $oDB->getColumnInfo('module_config', 'config'); if($column_info->xetype !== 'bigtext') diff --git a/modules/module/schemas/module_part_config.xml b/modules/module/schemas/module_part_config.xml index bc28bb3ed..712cb2502 100644 --- a/modules/module/schemas/module_part_config.xml +++ b/modules/module/schemas/module_part_config.xml @@ -1,6 +1,6 @@ - - - + + +