diff --git a/CRM/Core/BAO/CustomField.php b/CRM/Core/BAO/CustomField.php index 66a5cf26a275..4a0ae0fba333 100644 --- a/CRM/Core/BAO/CustomField.php +++ b/CRM/Core/BAO/CustomField.php @@ -114,7 +114,7 @@ public static function create($params) { * @throws \CiviCRM_API3_Exception */ public static function bulkSave($bulkParams, $defaults = []) { - $addedColumns = $sql = $tables = $customFields = []; + $addedColumns = $sql = $customFields = []; foreach ($bulkParams as $index => $fieldParams) { $params = array_merge($defaults, $fieldParams); $customField = self::createCustomFieldRecord($params); @@ -122,17 +122,9 @@ public static function bulkSave($bulkParams, $defaults = []) { if (!isset($params['custom_group_id'])) { $params['custom_group_id'] = civicrm_api3('CustomField', 'getvalue', ['id' => $customField->id, 'return' => 'custom_group_id']); } - if (!isset($params['table_name'])) { - if (!isset($tables[$params['custom_group_id']])) { - $tables[$params['custom_group_id']] = civicrm_api3('CustomGroup', 'getvalue', [ - 'id' => $params['custom_group_id'], - 'return' => 'table_name', - ]); - } - $params['table_name'] = $tables[$params['custom_group_id']]; - } - $sql[$params['table_name']][] = $fieldSQL; - $addedColumns[$params['table_name']][] = $customField->name; + $tableName = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $customField->custom_group_id, 'table_name'); + $sql[$tableName][] = $fieldSQL; + $addedColumns[$tableName][] = $customField->name; $customFields[$index] = $customField; } @@ -145,7 +137,7 @@ public static function bulkSave($bulkParams, $defaults = []) { $logging->fixSchemaDifferencesFor($tableName, ['ADD' => $addedColumns[$tableName]]); } - Civi::service('sql_triggers')->rebuild($params['table_name'], TRUE); + Civi::service('sql_triggers')->rebuild($tableName, TRUE); } CRM_Utils_System::flushCache(); foreach ($customFields as $index => $customField) { diff --git a/CRM/Core/BAO/SchemaHandler.php b/CRM/Core/BAO/SchemaHandler.php index 154bd55992ad..cb56200c4b74 100644 --- a/CRM/Core/BAO/SchemaHandler.php +++ b/CRM/Core/BAO/SchemaHandler.php @@ -271,43 +271,6 @@ public static function buildForeignKeySQL($params, $separator, $prefix, $tableNa return $sql; } - /** - * @deprecated - * - * @param array $params - * @param bool $indexExist - * @param bool $triggerRebuild - * - * @return bool - */ - public static function alterFieldSQL($params, $indexExist = FALSE, $triggerRebuild = TRUE) { - CRM_Core_Error::deprecatedFunctionWarning('function no longer in use / supported'); - // lets suppress the required flag, since that can cause sql issue - $params['required'] = FALSE; - - $sql = self::buildFieldChangeSql($params, $indexExist); - - // CRM-7007: do not i18n-rewrite this query - CRM_Core_DAO::executeQuery($sql, [], TRUE, NULL, FALSE, FALSE); - - $config = CRM_Core_Config::singleton(); - if ($config->logging) { - // CRM-16717 not sure why this was originally limited to add. - // For example custom tables can have field length changes - which need to flow through to logging. - // Are there any modifies we DON'T was to call this function for (& shouldn't it be clever enough to cope?) - if ($params['operation'] == 'add' || $params['operation'] == 'modify') { - $logging = new CRM_Logging_Schema(); - $logging->fixSchemaDifferencesFor($params['table_name'], [trim(strtoupper($params['operation'])) => [$params['name']]]); - } - } - - if ($triggerRebuild) { - Civi::service('sql_triggers')->rebuild($params['table_name'], TRUE); - } - - return TRUE; - } - /** * Delete a CiviCRM-table. *