-- 140_drop_deadline_rules (down) — Slice B.4, t-paliad-305 -- -- Best-effort recovery from the deadline_rules_pre_140 snapshot. The -- original triggers (mig 079 audit), indexes, CHECK constraints (mig -- 135 primary_party), and FK constraints on the new tables are NOT -- recreated here — restoring the working state requires replaying -- migrations 078/079/091/095/098/122/128/134/135 against the restored -- table. -- -- Use this only for catastrophic recovery. The normal revert path -- for B.4 is to re-deploy the previous container image (which still -- writes via the dual-write helper to a paliad.deadline_rules that no -- longer exists) — that would crash on first write, so true revert -- requires this down + a code revert + a snapshot restore. -- Drop the INSTEAD OF triggers + functions DROP TRIGGER IF EXISTS deadline_rules_unified_insert ON paliad.deadline_rules_unified; DROP TRIGGER IF EXISTS deadline_rules_unified_update ON paliad.deadline_rules_unified; DROP FUNCTION IF EXISTS paliad.deadline_rules_unified_insert_trigger(); DROP FUNCTION IF EXISTS paliad.deadline_rules_unified_update_trigger(); -- Recreate paliad.deadline_rules from snapshot. CREATE TABLE paliad.deadline_rules AS TABLE paliad.deadline_rules_pre_140; -- Re-add the PK constraint (CREATE TABLE AS doesn't carry constraints). ALTER TABLE paliad.deadline_rules ADD PRIMARY KEY (id); -- Re-point the FKs back to deadline_rules. ALTER TABLE paliad.appointments DROP CONSTRAINT IF EXISTS appointments_deadline_rule_id_fkey; ALTER TABLE paliad.appointments ADD CONSTRAINT appointments_deadline_rule_id_fkey FOREIGN KEY (deadline_rule_id) REFERENCES paliad.deadline_rules(id); ALTER TABLE paliad.deadline_rule_backfill_orphans DROP CONSTRAINT IF EXISTS deadline_rule_backfill_orphans_resolved_rule_id_fkey; ALTER TABLE paliad.deadline_rule_backfill_orphans ADD CONSTRAINT deadline_rule_backfill_orphans_resolved_rule_id_fkey FOREIGN KEY (resolved_rule_id) REFERENCES paliad.deadline_rules(id); -- Re-add deadlines.rule_id from the snapshot's data (via sequencing_rule_id -- which inherited deadline_rules.id during mig 136). ALTER TABLE paliad.deadlines ADD COLUMN rule_id uuid; UPDATE paliad.deadlines SET rule_id = sequencing_rule_id WHERE sequencing_rule_id IS NOT NULL; ALTER TABLE paliad.deadlines ADD CONSTRAINT fristen_rule_id_fkey FOREIGN KEY (rule_id) REFERENCES paliad.deadline_rules(id);