diff --git a/db_scripts/diff/15340.down b/db_scripts/diff/15340.down new file mode 100644 index 00000000..62823614 --- /dev/null +++ b/db_scripts/diff/15340.down @@ -0,0 +1,55 @@ +use accounting; + +DROP INDEX cashbalancedata_stime ON cdr_cash_balance_data; +DROP INDEX timebalancedata_stime ON cdr_time_balance_data; +DROP INDEX cdrrelationdata_stime ON cdr_relation_data; +DROP INDEX cdrtagdata_stime ON cdr_tag_data; + +DROP INDEX event_ts ON events; +DROP INDEX eventrelationdata_ts ON events_relation_data; +DROP INDEX eventrelationdata_ts ON events_tag_data; + +DELIMITER ;; +CREATE TRIGGER cdr_cascade_update_trig AFTER UPDATE ON cdr + FOR EACH ROW BEGIN + + UPDATE cdr_relation_data SET cdr_id = NEW.id WHERE cdr_id = OLD.id; + UPDATE cdr_cash_balance_data SET cdr_id = NEW.id WHERE cdr_id = OLD.id; + UPDATE cdr_time_balance_data SET cdr_id = NEW.id WHERE cdr_id = OLD.id; + UPDATE cdr_tag_data SET cdr_id = NEW.id WHERE cdr_id = OLD.id; + + END;; +DELIMITER ; + +DELIMITER ;; +CREATE TRIGGER cdr_cascade_delete_trig AFTER DELETE ON cdr + FOR EACH ROW BEGIN + + DELETE FROM cdr_relation_data WHERE cdr_id = OLD.id; + DELETE FROM cdr_cash_balance_data WHERE cdr_id = OLD.id; + DELETE FROM cdr_time_balance_data WHERE cdr_id = OLD.id; + DELETE FROM cdr_tag_data WHERE cdr_id = OLD.id; + + END;; +DELIMITER ; + +DELIMITER ;; +CREATE TRIGGER events_cascade_update_trig AFTER UPDATE ON events + FOR EACH ROW BEGIN + + UPDATE events_relation_data SET event_id = NEW.id WHERE event_id = OLD.id; + UPDATE events_tag_data SET event_id = NEW.id WHERE event_id = OLD.id; + + END;; +DELIMITER ; + +DELIMITER ;; +CREATE TRIGGER events_cascade_delete_trig AFTER DELETE ON events + FOR EACH ROW BEGIN + + DELETE FROM events_relation_data WHERE event_id = OLD.id; + DELETE FROM events_tag_data WHERE event_id = OLD.id; + + END;; +DELIMITER ; + diff --git a/db_scripts/diff/15340.up b/db_scripts/diff/15340.up new file mode 100644 index 00000000..b3b2691c --- /dev/null +++ b/db_scripts/diff/15340.up @@ -0,0 +1,17 @@ +use accounting; + +CREATE INDEX cashbalancedata_stime ON cdr_cash_balance_data (cdr_start_time); +CREATE INDEX timebalancedata_stime ON cdr_time_balance_data (cdr_start_time); +CREATE INDEX cdrrelationdata_stime ON cdr_relation_data (cdr_start_time); +CREATE INDEX cdrtagdata_stime ON cdr_tag_data (cdr_start_time); + +CREATE INDEX event_ts ON events (timestamp); +CREATE INDEX eventrelationdata_ts ON events_relation_data (event_timestamp); +CREATE INDEX eventrelationdata_ts ON events_tag_data (event_timestamp); + +DROP TRIGGER IF EXISTS cdr_cascade_update_trig; +DROP TRIGGER IF EXISTS cdr_cascade_delete_trig; + +DROP TRIGGER IF EXISTS events_cascade_update_trig; +DROP TRIGGER IF EXISTS events_cascade_delete_trig; +