re-uploading work
This commit is contained in:
32
migrations/20260131000001_add_worker_role.sql
Normal file
32
migrations/20260131000001_add_worker_role.sql
Normal file
@@ -0,0 +1,32 @@
|
||||
-- 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;
|
||||
Reference in New Issue
Block a user