From 071028558220ef5599660e67a522e17ace84ad00 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Mon, 13 Dec 2021 15:20:30 +0900 Subject: [PATCH] Increase size of type column in module_trigger table --- modules/module/module.class.php | 35 +++++++++++++++++++++++ modules/module/schemas/module_trigger.xml | 10 +++---- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/modules/module/module.class.php b/modules/module/module.class.php index 5da1d9837..91a442089 100644 --- a/modules/module/module.class.php +++ b/modules/module/module.class.php @@ -107,6 +107,21 @@ class module extends ModuleObject if(!$oDB->isIndexExists('lang', 'idx_name')) return true; if(!$oDB->isIndexExists('lang', 'idx_lang_code')) return true; + // check module_trigger table + if($oDB->isIndexExists('module_trigger', 'idx_trigger')) + { + return true; + } + if(!$oDB->isIndexExists('module_trigger', 'idx_trigger_name')) + { + return true; + } + $column_info = $oDB->getColumnInfo('module_trigger', 'type'); + if($column_info->size < 120) + { + return true; + } + // check deprecated lang code $output = executeQuery('module.getLangCount', ['site_srl' => 0, 'lang_code' => 'jp']); if ($output->data->count > 0) @@ -197,6 +212,26 @@ class module extends ModuleObject $oDB->addIndex('lang', 'idx_lang_code', array('lang_code'), false); } + // check module_trigger table + if($oDB->isIndexExists('module_trigger', 'idx_trigger')) + { + $oDB->dropIndex('module_trigger', 'idx_trigger'); + } + $column_info = $oDB->getColumnInfo('module_trigger', 'type'); + if($column_info->size < 120) + { + $oDB->modifyColumn('module_trigger', 'trigger_name', 'varchar', 80, null, true, null, null, 'latin1'); + $oDB->modifyColumn('module_trigger', 'called_position', 'varchar', 20, null, true, null, null, 'latin1'); + $oDB->modifyColumn('module_trigger', 'module', 'varchar', 80, null, true, null, null, 'latin1'); + $oDB->modifyColumn('module_trigger', 'type', 'varchar', 120, null, true, null, null, 'latin1'); + $oDB->modifyColumn('module_trigger', 'called_method', 'varchar', 80, null, true, null, null, 'latin1'); + } + if(!$oDB->isIndexExists('module_trigger', 'idx_trigger_name')) + { + $oDB->addIndex('module_trigger', 'idx_trigger_name', array('trigger_name', 'called_position')); + $oDB->addIndex('module_trigger', 'idx_trigger_target', array('module', 'type', 'called_method')); + } + // check deprecated lang code $output = executeQuery('module.getLangCount', ['site_srl' => 0, 'lang_code' => 'jp']); if ($output->data->count > 0) diff --git a/modules/module/schemas/module_trigger.xml b/modules/module/schemas/module_trigger.xml index 5e0252d32..2b0b3cf9c 100644 --- a/modules/module/schemas/module_trigger.xml +++ b/modules/module/schemas/module_trigger.xml @@ -1,7 +1,7 @@ - - - - - + + + + +