From 4d5ef3deecf43d2e32ee96908ad3249b124c8c0a Mon Sep 17 00:00:00 2001 From: Tim Otten Date: Tue, 4 Aug 2015 18:16:41 -0700 Subject: [PATCH] CRM-13244 - civicrm_action_schedule.mapping_id - Change int to varchar When modules define new mappings, it's easier if they can makeup their own symbolic names rather than picking a number. --- CRM/Core/BAO/ActionSchedule.php | 4 ++-- CRM/Upgrade/Incremental/sql/4.6.6.mysql.tpl | 5 ----- CRM/Upgrade/Incremental/sql/4.7.alpha1.mysql.tpl | 3 +++ xml/schema/Core/ActionSchedule.xml | 11 +++-------- 4 files changed, 8 insertions(+), 15 deletions(-) diff --git a/CRM/Core/BAO/ActionSchedule.php b/CRM/Core/BAO/ActionSchedule.php index 57edf36e30..0c4553dde2 100755 --- a/CRM/Core/BAO/ActionSchedule.php +++ b/CRM/Core/BAO/ActionSchedule.php @@ -190,7 +190,7 @@ FROM civicrm_action_schedule cas if ($filterMapping and $filterValue) { $where .= " AND cas.entity_value = %1 AND cas.mapping_id = %2"; $queryParams[1] = array($filterValue, 'Integer'); - $queryParams[2] = array($filterMapping->getId(), 'Integer'); + $queryParams[2] = array($filterMapping->getId(), 'String'); } $where .= " AND cas.used_for IS NULL"; $query .= $where; @@ -435,7 +435,7 @@ FROM civicrm_action_schedule cas entity_value = %2"; $params = array( - 1 => array($mappingID, 'Integer'), + 1 => array($mappingID, 'String'), 2 => array($id, 'Integer'), ); return CRM_Core_DAO::singleValueQuery($queryString, $params); diff --git a/CRM/Upgrade/Incremental/sql/4.6.6.mysql.tpl b/CRM/Upgrade/Incremental/sql/4.6.6.mysql.tpl index 8d8425356b..0c3e942047 100644 --- a/CRM/Upgrade/Incremental/sql/4.6.6.mysql.tpl +++ b/CRM/Upgrade/Incremental/sql/4.6.6.mysql.tpl @@ -41,8 +41,3 @@ INSERT INTO civicrm_navigation VALUES ( {$domainID}, 'civicrm/api', '{ts escape="sql" skip="true"}API Explorer{/ts}','API Explorer', 'administer CiviCRM', '', @devellastID, '1', NULL, 1 ), ( {$domainID}, 'http://civicrm.org/developer-documentation?src=iam', '{ts escape="sql" skip="true"}Developer Docs{/ts}', 'Developer Docs', 'administer CiviCRM', '', @devellastID, '1', NULL, 3 ); - --- FIXME: Immediately before merging, verify that this is targetted at the right version. --- Add new columns for multilingual purpose -ALTER TABLE `civicrm_action_schedule` ADD COLUMN `filter_contact_language` varchar(128) DEFAULT NULL COMMENT 'Used for multilingual installation'; -ALTER TABLE `civicrm_action_schedule` ADD COLUMN `communication_language` varchar(8) DEFAULT NULL COMMENT 'Used for multilingual installation'; diff --git a/CRM/Upgrade/Incremental/sql/4.7.alpha1.mysql.tpl b/CRM/Upgrade/Incremental/sql/4.7.alpha1.mysql.tpl index 6606d5a7f4..cbe3dd9778 100644 --- a/CRM/Upgrade/Incremental/sql/4.7.alpha1.mysql.tpl +++ b/CRM/Upgrade/Incremental/sql/4.7.alpha1.mysql.tpl @@ -3,6 +3,9 @@ -- Add new columns for multilingual purpose ALTER TABLE `civicrm_action_schedule` ADD COLUMN `filter_contact_language` varchar(128) DEFAULT NULL COMMENT 'Used for multilingual installation'; ALTER TABLE `civicrm_action_schedule` ADD COLUMN `communication_language` varchar(8) DEFAULT NULL COMMENT 'Used for multilingual installation'; +ALTER TABLE `civicrm_action_schedule` DROP FOREIGN KEY `FK_civicrm_action_schedule_mapping_id`; +ALTER TABLE `civicrm_action_schedule` MODIFY COLUMN mapping_id varchar(64); +-- Q: Should we validate that local civicrm_action_mapping records have expected IDs? -- CRM-16354 SELECT @option_group_id_wysiwyg := max(id) from civicrm_option_group where name = 'wysiwyg_editor'; diff --git a/xml/schema/Core/ActionSchedule.xml b/xml/schema/Core/ActionSchedule.xml index bbfbc55af6..2d2a670cec 100644 --- a/xml/schema/Core/ActionSchedule.xml +++ b/xml/schema/Core/ActionSchedule.xml @@ -216,16 +216,11 @@ mapping_id Reminder Mapping - int unsigned - FK to mapping which is being used by this reminder + varchar + 64 + Name/ID of the mapping to use on this table 3.4 - - mapping_id - civicrm_action_mapping
- id - SET NULL -
group_id Reminder Group -- 2.25.1