Gate-Resolution SQL — Rollback / Undo 30-Anchor Seed (delete-by-key)
-- ============================================================================ -- ROLLBACK / UNDO for the F-6 30-anchor ownership seed. -- Reversible by delete-by-key. governance_object_ownership has 0 triggers -- (verified live) => no cascade, no emit, no issue on delete. -- Safe whether or not the seed was committed (deletes 0 rows if absent). -- Channel: ssh contabo -> docker exec -i postgres psql -U workflow_admin -d directus -f - -- ============================================================================ \set ON_ERROR_STOP on \pset pager off
\echo ====================BEFORE==================== SELECT count() AS seed_rows_before FROM governance_object_ownership WHERE created_by='F6_OWNERSHIP_SEED_COMMIT'; SELECT count() AS gap_before FROM v_object_owner_gap;
BEGIN; DELETE FROM governance_object_ownership WHERE created_by='F6_OWNERSHIP_SEED_COMMIT'; -- assert clean removal back to baseline DO $$ DECLARE v_left int; v_own int; BEGIN SELECT count() INTO v_left FROM governance_object_ownership WHERE created_by='F6_OWNERSHIP_SEED_COMMIT'; SELECT count() INTO v_own FROM governance_object_ownership; IF v_left <> 0 THEN RAISE EXCEPTION 'seed rows remain: %', v_left; END IF; RAISE NOTICE 'seed removed; total ownership now = %', v_own; END $$; COMMIT;
\echo ====================AFTER==================== SELECT count() AS seed_rows_after FROM governance_object_ownership WHERE created_by='F6_OWNERSHIP_SEED_COMMIT'; -- expect 0 SELECT count() AS gap_after FROM v_object_owner_gap; -- expect 210 (baseline restored) \echo ====================DONE====================