godcrm/scripts/rollback/adr-0030-p1-down.sql
GOD CRM Release f89e074dd1
Some checks failed
CI / Lint / Typecheck / Test / Build (push) Has been cancelled
CI / PostgreSQL Integration Tests (push) Has been cancelled
GOD CRM — public scrubbed snapshot
Governed substrate for autonomous agents: scoped identity (passports),
audited actions, MCP workspace. Infra IPs and secrets redacted for public release.
2026-08-10 04:01:45 +03:00

83 lines
2.9 KiB
PL/PgSQL

-- ADR-0030 Phase 1 — ROLLBACK
-- Symmetric reverse of: scripts/migrations/20260504-adr0030-p1-run-state-and-workflow-config.sql
-- Constitution v3.0 §3 — required for any P1 schema migration (ADR-0030 §16).
--
-- Idempotent: safe to re-run. Each DELETE is a no-op on second run.
--
-- WARNING: This drops:
-- - All run_* virtual columns from tickets (table_id=1708) — any per-row
-- run_* values in table_rows.data are NOT removed by this script.
-- The values remain as orphaned JSON keys; they're invisible without
-- the column definitions and harmless. If you want a clean wipe, run
-- the optional cleanup at the bottom (commented out).
-- - The _workflow_config table definition + all column definitions + the
-- singleton row.
BEGIN;
-- =============================================================
-- Part 1 — Drop run_* virtual columns from tickets (table_id=1708)
-- =============================================================
DELETE FROM table_columns WHERE table_id=1708 AND column_name IN (
'run_state',
'run_attempt',
'run_thread_id',
'run_workspace_path',
'run_started_at',
'run_finished_at',
'run_last_event_at',
'run_terminal_reason',
'run_next_attempt_after',
'run_pending_approval_token'
);
-- =============================================================
-- Part 2 — Drop _workflow_config (table_id=100000) — singleton + cols + table
-- =============================================================
-- Drop singleton row first (FK-style ordering, even though no real FKs)
DELETE FROM table_rows WHERE table_id=100000;
-- Drop all column definitions
DELETE FROM table_columns WHERE table_id=100000;
-- Drop table metadata
DELETE FROM tables WHERE id=100000;
COMMIT;
-- =============================================================
-- OPTIONAL: clean up orphaned run_* keys from existing ticket rows
-- =============================================================
-- Uncomment this block ONLY if you also want to scrub run_* values
-- from every existing ticket row's data JSONB. Heavy operation —
-- writes every row, so it triggers all UPDATE-side automation.
--
-- BEGIN;
-- UPDATE table_rows
-- SET data = data
-- - 'run_state'
-- - 'run_attempt'
-- - 'run_thread_id'
-- - 'run_workspace_path'
-- - 'run_started_at'
-- - 'run_finished_at'
-- - 'run_last_event_at'
-- - 'run_terminal_reason'
-- - 'run_next_attempt_after'
-- - 'run_pending_approval_token',
-- updated_at = updated_at -- preserve mtime
-- WHERE table_id=1708
-- AND (data ? 'run_state'
-- OR data ? 'run_attempt'
-- OR data ? 'run_thread_id'
-- OR data ? 'run_workspace_path'
-- OR data ? 'run_started_at'
-- OR data ? 'run_finished_at'
-- OR data ? 'run_last_event_at'
-- OR data ? 'run_terminal_reason'
-- OR data ? 'run_next_attempt_after'
-- OR data ? 'run_pending_approval_token');
-- COMMIT;