From f2cbacf82dd437d8675f1c3f5a3f39b1c5128abd Mon Sep 17 00:00:00 2001 From: Seamus Lee Date: Thu, 15 Dec 2022 09:22:21 +1100 Subject: [PATCH] [REF] Create Alter Column function in upgrade base class Minor fixes as per coleman --- CRM/Upgrade/Incremental/Base.php | 17 +++++++++++++++++ CRM/Upgrade/Incremental/php/FiveFiftyEight.php | 10 +--------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/CRM/Upgrade/Incremental/Base.php b/CRM/Upgrade/Incremental/Base.php index fcc3f9104e..2dc039a4bd 100644 --- a/CRM/Upgrade/Incremental/Base.php +++ b/CRM/Upgrade/Incremental/Base.php @@ -585,4 +585,21 @@ class CRM_Upgrade_Incremental_Base { return TRUE; } + public static function alterColumn($ctx, $table, $column, $properties, $localizable = FALSE): bool { + $locales = CRM_Core_I18n::getMultilingual(); + $queries = []; + if ($localizable && $locales) { + foreach ($locales as $locale) { + $queries[] = "ALTER TABLE `$table` CHANGE `{$column}_{$locale}` `{$column}_{$locale}` $properties"; + } + } + else { + $queries[] = "ALTER TABLE `$table` CHANGE `$column` `$column` $properties"; + } + foreach ($queries as $query) { + CRM_Core_DAO::executeQuery($query, [], TRUE, NULL, FALSE, FALSE); + } + return TRUE; + } + } diff --git a/CRM/Upgrade/Incremental/php/FiveFiftyEight.php b/CRM/Upgrade/Incremental/php/FiveFiftyEight.php index d43eb95d60..e0e59c4b53 100644 --- a/CRM/Upgrade/Incremental/php/FiveFiftyEight.php +++ b/CRM/Upgrade/Incremental/php/FiveFiftyEight.php @@ -33,15 +33,7 @@ class CRM_Upgrade_Incremental_php_FiveFiftyEight extends CRM_Upgrade_Incremental } public static function addOptionGroupDescriptions($ctx): bool { - $locales = CRM_Core_I18n::getMultilingual(); - if ($locales) { - foreach ($locales as $locale) { - CRM_Core_DAO::executeQuery("ALTER TABLE `civicrm_option_group` CHANGE `description_{$locale}` `description_{$locale}` TEXT COMMENT 'Option group description.'", [], TRUE, NULL, FALSE, FALSE); - } - } - else { - CRM_Core_DAO::executeQuery('ALTER TABLE `civicrm_option_group` MODIFY COLUMN `description` TEXT', [], TRUE, NULL, FALSE, FALSE); - } + CRM_Upgrade_Incremental_Base::alterColumn($ctx, 'civicrm_option_group', 'description', "TEXT COMMENT 'Option group description.'", TRUE); $values = [ [ 'group' => 'gender', -- 2.25.1