20 lines
1.1 KiB
SQL
20 lines
1.1 KiB
SQL
-- 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';
|