19 lines
799 B
PL/PgSQL
19 lines
799 B
PL/PgSQL
-- Reverses only 003; never execute together with UP.
|
|
BEGIN;
|
|
SET LOCAL lock_timeout = '10s';
|
|
SELECT pg_advisory_xact_lock(290926, 170003);
|
|
DO $reverse$
|
|
DECLARE table_name text; owned_index record;
|
|
BEGIN
|
|
FOREACH table_name IN ARRAY ARRAY['audit_events','business_status_history','document_versions','negotiation_events'] LOOP
|
|
EXECUTE format('DROP TRIGGER IF EXISTS mne_evidence_immutable ON mne.%I', table_name);
|
|
END LOOP;
|
|
FOR owned_index IN SELECT c.relname FROM pg_class c JOIN pg_namespace n ON n.oid=c.relnamespace
|
|
WHERE n.nspname='mne' AND c.relkind='i' AND obj_description(c.oid,'pg_class')='Owned by 003_mne_integrity'
|
|
LOOP
|
|
EXECUTE format('DROP INDEX mne.%I', owned_index.relname);
|
|
END LOOP;
|
|
END $reverse$;
|
|
DROP FUNCTION IF EXISTS mne.reject_evidence_mutation();
|
|
COMMIT;
|