trigger.mysql 2.94 KB
Newer Older
totten's avatar
totten committed
1
-- +--------------------------------------------------------------------+
2
-- | CiviCRM version 5                                                  |
totten's avatar
totten committed
3
-- +--------------------------------------------------------------------+
yashodha's avatar
yashodha committed
4
-- | Copyright CiviCRM LLC (c) 2004-2017                                |
totten's avatar
totten committed
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
-- +--------------------------------------------------------------------+
-- | This file is a part of CiviCRM.                                    |
-- |                                                                    |
-- | CiviCRM is free software; you can copy, modify, and distribute it  |
-- | under the terms of the GNU Affero General Public License           |
-- | Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
-- |                                                                    |
-- | CiviCRM is distributed in the hope that it will be useful, but     |
-- | WITHOUT ANY WARRANTY; without even the implied warranty of         |
-- | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.               |
-- | See the GNU Affero General Public License for more details.        |
-- |                                                                    |
-- | You should have received a copy of the GNU Affero General Public   |
-- | License and the CiviCRM Licensing Exception along                  |
-- | with this program; if not, contact CiviCRM LLC                     |
-- | at info[AT]civicrm[DOT]org. If you have questions about the        |
-- | GNU Affero General Public License or the licensing of CiviCRM,     |
-- | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
-- +--------------------------------------------------------------------+

DELIMITER |

CREATE TRIGGER   civicrm_contact_ad
BEFORE DELETE ON civicrm_contact
FOR EACH ROW
BEGIN
  -- we delete the corresponding entity_id/entity_table entries
  -- from all the linked tables (note, log etc)
  DELETE FROM civicrm_note
34
        WHERE entity_id    = OLD.id
totten's avatar
totten committed
35 36 37 38
          AND entity_table = 'civicrm_contact';
  DELETE FROM civicrm_log
        WHERE entity_id    = OLD.id
          AND entity_table = 'civicrm_contact';
39
  DELETE FROM civicrm_task_status
totten's avatar
totten committed
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
        WHERE responsible_entity_id    = OLD.id
          AND responsible_entity_table = 'civicrm_contact';

END;

CREATE TRIGGER   civicrm_contribution_ad
BEFORE DELETE ON civicrm_contribution
FOR EACH ROW
BEGIN
  -- we delete the corresponding entity_id/entity_table entries
  -- from all the linked tables (note, log etc)
  DELETE FROM civicrm_note WHERE entity_id = OLD.id AND entity_table = 'civicrm_contribution';
END;

CREATE TRIGGER   civicrm_participant_ad
BEFORE DELETE ON civicrm_participant
FOR EACH ROW
BEGIN
  -- we delete the corresponding entity_id/entity_table entries
  -- from all the linked tables (note, log etc)
  DELETE FROM civicrm_note WHERE entity_id = OLD.id AND entity_table = 'civicrm_participant';
  DELETE FROM civicrm_log  WHERE entity_id = OLD.id AND entity_table = 'civicrm_participant';
END;

|

DELIMITER ;