fix: add migration for microdao is_public and update visibility scopes
This commit is contained in:
52
migrations/029_add_microdao_visibility.sql
Normal file
52
migrations/029_add_microdao_visibility.sql
Normal file
@@ -0,0 +1,52 @@
|
||||
-- Migration: Add visibility fields to MicroDAO and update Agent visibility
|
||||
-- Purpose: Support Task 029 (Orchestrator & Visibility Flow)
|
||||
-- Date: 2025-11-28
|
||||
|
||||
-- ============================================================================
|
||||
-- MICRODAOS TABLE
|
||||
-- ============================================================================
|
||||
|
||||
-- Add is_public flag
|
||||
ALTER TABLE microdaos
|
||||
ADD COLUMN IF NOT EXISTS is_public boolean NOT NULL DEFAULT true;
|
||||
|
||||
-- Create index
|
||||
CREATE INDEX IF NOT EXISTS idx_microdaos_is_public ON microdaos(is_public);
|
||||
|
||||
|
||||
-- ============================================================================
|
||||
-- AGENTS TABLE
|
||||
-- ============================================================================
|
||||
|
||||
-- Update constraint for visibility_scope to support new values
|
||||
-- Old values: 'city', 'microdao', 'owner_only'
|
||||
-- New values: 'global', 'microdao', 'private'
|
||||
-- We will map: city -> global, owner_only -> private
|
||||
|
||||
-- 1. Drop existing constraint
|
||||
ALTER TABLE agents
|
||||
DROP CONSTRAINT IF EXISTS chk_visibility_scope;
|
||||
|
||||
-- 2. Migrate data
|
||||
UPDATE agents
|
||||
SET visibility_scope = 'global'
|
||||
WHERE visibility_scope = 'city';
|
||||
|
||||
UPDATE agents
|
||||
SET visibility_scope = 'private'
|
||||
WHERE visibility_scope = 'owner_only';
|
||||
|
||||
-- 3. Add new constraint
|
||||
ALTER TABLE agents
|
||||
ADD CONSTRAINT chk_visibility_scope
|
||||
CHECK (visibility_scope IN ('global', 'microdao', 'private'));
|
||||
|
||||
-- 4. Ensure is_public is synced with visibility_scope
|
||||
UPDATE agents
|
||||
SET is_public = true
|
||||
WHERE visibility_scope = 'global';
|
||||
|
||||
UPDATE agents
|
||||
SET is_public = false
|
||||
WHERE visibility_scope IN ('microdao', 'private');
|
||||
|
||||
Reference in New Issue
Block a user