From: demeritcowboy Date: Tue, 6 Dec 2022 12:51:29 +0000 (-0500) Subject: prevent deletion of current revisions X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=2dc1e1404b7ad048ccb2e0ae778dda96d794eaa0;p=civicrm-core.git prevent deletion of current revisions --- diff --git a/CRM/Upgrade/Incremental/php/FiveFiftySeven.php b/CRM/Upgrade/Incremental/php/FiveFiftySeven.php index 67bcc73df2..88939c3808 100644 --- a/CRM/Upgrade/Incremental/php/FiveFiftySeven.php +++ b/CRM/Upgrade/Incremental/php/FiveFiftySeven.php @@ -37,7 +37,14 @@ class CRM_Upgrade_Incremental_php_FiveFiftySeven extends CRM_Upgrade_Incremental */ public function upgrade_5_57_alpha1($rev): void { $this->addTask(ts('Upgrade DB to %1: SQL', [1 => $rev]), 'runSql', $rev); + $this->addTask('Fix dangerous delete cascade', 'fixDeleteCascade'); $this->addExtensionTask('Enable SearchKit extension', ['org.civicrm.search_kit'], 1100); } + public static function fixDeleteCascade($ctx): bool { + CRM_Core_BAO_SchemaHandler::safeRemoveFK('civicrm_activity', 'FK_civicrm_activity_original_id'); + CRM_Core_DAO::executeQuery('ALTER TABLE `civicrm_activity` ADD CONSTRAINT `FK_civicrm_activity_original_id` FOREIGN KEY (`original_id`) REFERENCES `civicrm_activity` (`id`) ON DELETE SET NULL'); + return TRUE; + } + }