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