-- PORTMAN - trip budget records can never be deleted (21 Oct 2026)
-- Run AFTER opening trip_budget.php and fixed_destinations.php once (they create the tables).
DROP TRIGGER IF EXISTS fph_no_delete;
CREATE TRIGGER fph_no_delete BEFORE DELETE ON fixed_cost_price_history FOR EACH ROW SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Price history cannot be deleted';
DROP TRIGGER IF EXISTS fph_no_update;
CREATE TRIGGER fph_no_update BEFORE UPDATE ON fixed_cost_price_history FOR EACH ROW SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Price history cannot be changed';
DROP TRIGGER IF EXISTS tbh_no_delete;
CREATE TRIGGER tbh_no_delete BEFORE DELETE ON trip_budget_history FOR EACH ROW SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Budget history cannot be deleted';
DROP TRIGGER IF EXISTS tbh_no_update;
CREATE TRIGGER tbh_no_update BEFORE UPDATE ON trip_budget_history FOR EACH ROW SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Budget history cannot be changed';
DROP TRIGGER IF EXISTS fmp_no_delete;
CREATE TRIGGER fmp_no_delete BEFORE DELETE ON fuel_month_price FOR EACH ROW SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Fuel prices are cancelled, not deleted';
DROP TRIGGER IF EXISTS fps_no_delete;
CREATE TRIGGER fps_no_delete BEFORE DELETE ON fixed_price_schedule FOR EACH ROW SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Waiting price changes are cancelled, not deleted';
DROP TRIGGER IF EXISTS fmc_no_delete;
CREATE TRIGGER fmc_no_delete BEFORE DELETE ON fixed_mine_costs FOR EACH ROW SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Price items are switched off, not deleted';
DROP TRIGGER IF EXISTS snap_no_delete;
CREATE TRIGGER snap_no_delete BEFORE DELETE ON fixed_trip_budget_snapshot FOR EACH ROW SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Trip budgets cannot be deleted';
