diff --git a/CRM/Upgrade/Incremental/Base.php b/CRM/Upgrade/Incremental/Base.php index fcc3f9104e8d..ed0f85c241ba 100644 --- a/CRM/Upgrade/Incremental/Base.php +++ b/CRM/Upgrade/Incremental/Base.php @@ -585,4 +585,26 @@ public static function rebuildMultilingalSchema($ctx, $version = NULL) { return TRUE; } + public static function alterColumn($ctx, $table, $column, $properties, $localizable = FALSE): bool { + $locales = CRM_Core_I18n::getMultilingual(); + $queries = []; + if ($localizable) { + if ($locales) { + foreach ($locales as $locale) { + $queries[] = "ALTER TABLE `$table` CHANGE `{$column}_{$locale}` `description_{$locale}` $properties"; + } + } + else { + $queries[] = "ALTER TABLE `$table` CHANGE `$column` `$column` $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 d43eb95d60ad..e0e59c4b5346 100644 --- a/CRM/Upgrade/Incremental/php/FiveFiftyEight.php +++ b/CRM/Upgrade/Incremental/php/FiveFiftyEight.php @@ -33,15 +33,7 @@ public function upgrade_5_58_alpha1($rev): void { } 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',