Files
attune/migrations.old/20260131000001_add_worker_role.sql

33 lines
1.4 KiB
SQL

-- Migration: Add Worker Role
-- Description: Adds worker_role field to distinguish between action workers and sensor workers
-- Version: 20260131000001
-- ============================================================================
-- WORKER ROLE ENUM
-- ============================================================================
DO $$ BEGIN
CREATE TYPE worker_role_enum AS ENUM ('action', 'sensor', 'hybrid');
EXCEPTION
WHEN duplicate_object THEN null;
END $$;
COMMENT ON TYPE worker_role_enum IS 'Worker role type: action (executes actions), sensor (monitors triggers), or hybrid (both)';
-- ============================================================================
-- ADD WORKER ROLE COLUMN
-- ============================================================================
ALTER TABLE worker
ADD COLUMN IF NOT EXISTS worker_role worker_role_enum NOT NULL DEFAULT 'action';
-- Create index for efficient role-based queries
CREATE INDEX IF NOT EXISTS idx_worker_role ON worker(worker_role);
CREATE INDEX IF NOT EXISTS idx_worker_role_status ON worker(worker_role, status);
-- Comments
COMMENT ON COLUMN worker.worker_role IS 'Worker role: action (executes actions), sensor (monitors for triggers), or hybrid (both capabilities)';
-- Update existing workers to be action workers (backward compatibility)
UPDATE worker SET worker_role = 'action' WHERE worker_role IS NULL;