You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
db-schema/db_scripts/diff/15424.down

61 lines
2.2 KiB

use billing;
alter table billing_fees
drop index bf_srcdestdir_idx,
drop index bf_destsrcdir_idx,
drop column match_mode,
add key profsrcdesdirtype_idx (billing_profile_id, source, destination, direction, type),
add constraint billing_fees_unique unique (billing_profile_id, source, destination, direction, type);
alter table billing_fees_history
drop index bfh_srcdestdir_idx,
drop index bfh_destsrcdir_idx,
drop column match_mode,
add key bfhsems_idx (billing_profile_id, bf_id, type, destination);
drop trigger billing.bill_fees_crepl_trig;
drop trigger billing.bill_fees_urepl_trig;
delimiter ;;
create trigger billing.bill_fees_crepl_trig after insert on billing_fees
for each row
begin
declare my_bzh_id int unsigned;
select id into my_bzh_id from billing.billing_zones_history where bz_id = NEW.billing_zone_id;
insert into billing.billing_fees_history
values(NULL, NEW.id, NEW.billing_profile_id, my_bzh_id,
NEW.source, NEW.destination, NEW.direction,
NEW.type, NEW.onpeak_init_rate, NEW.onpeak_init_interval, NEW.onpeak_follow_rate,
NEW.onpeak_follow_interval, NEW.offpeak_init_rate, NEW.offpeak_init_interval,
NEW.offpeak_follow_rate, NEW.offpeak_follow_interval, NEW.use_free_time);
end;
;;
create trigger billing.bill_fees_urepl_trig after update on billing_fees
for each row
begin
declare my_bzh_id int unsigned;
select id into my_bzh_id from billing.billing_zones_history where bz_id = NEW.billing_zone_id;
update billing.billing_fees_history
set bf_id = NEW.id, billing_profile_id = NEW.billing_profile_id,
billing_zones_history_id = my_bzh_id,
source = NEW.source, destination = NEW.destination, direction = NEW.direction,
type = NEW.type,
onpeak_init_rate = NEW.onpeak_init_rate, onpeak_init_interval = NEW.onpeak_init_interval,
onpeak_follow_rate = NEW.onpeak_follow_rate, onpeak_follow_interval = NEW.onpeak_follow_interval,
offpeak_init_rate = NEW.offpeak_init_rate, offpeak_init_interval = NEW.offpeak_init_interval,
offpeak_follow_rate = NEW.offpeak_follow_rate, offpeak_follow_interval = NEW.offpeak_follow_interval,
use_free_time = NEW.use_free_time
where bf_id = OLD.id;
end;
;;
delimiter ;