-- ClientFlow v4928.1.4.4 -- Ensure legacy integration_outbox tables have all columns used by the worker/UI. ALTER TABLE integration_outbox ADD COLUMN IF NOT EXISTS business_event_id UUID; ALTER TABLE integration_outbox ADD COLUMN IF NOT EXISTS retry_count INTEGER NOT NULL DEFAULT 0; ALTER TABLE integration_outbox ADD COLUMN IF NOT EXISTS idempotency_key TEXT; ALTER TABLE integration_outbox ADD COLUMN IF NOT EXISTS last_error TEXT; ALTER TABLE integration_outbox ADD COLUMN IF NOT EXISTS updated_at TIMESTAMPTZ NOT NULL DEFAULT now(); ALTER TABLE integration_outbox ADD COLUMN IF NOT EXISTS sent_at TIMESTAMPTZ; ALTER TABLE integration_outbox ADD COLUMN IF NOT EXISTS locked_at TIMESTAMPTZ; ALTER TABLE integration_outbox ADD COLUMN IF NOT EXISTS lock_owner TEXT; ALTER TABLE integration_outbox ADD COLUMN IF NOT EXISTS ignored_at TIMESTAMPTZ; CREATE UNIQUE INDEX IF NOT EXISTS ux_integration_outbox_idempotency_key ON integration_outbox(idempotency_key) WHERE idempotency_key IS NOT NULL; CREATE INDEX IF NOT EXISTS idx_integration_outbox_pending_dispatch ON integration_outbox(target_system, created_at) WHERE status = 'pending';