-- v0.803 ADM1-04: Global announcements CREATE TABLE IF NOT EXISTS announcements ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), title VARCHAR(200) NOT NULL, content TEXT NOT NULL, type VARCHAR(20) NOT NULL DEFAULT 'info', is_active BOOLEAN NOT NULL DEFAULT true, starts_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), ends_at TIMESTAMPTZ, created_by UUID REFERENCES users(id), created_at TIMESTAMPTZ NOT NULL DEFAULT NOW() ); CREATE INDEX IF NOT EXISTS idx_announcements_is_active ON announcements(is_active) WHERE is_active = true; CREATE INDEX IF NOT EXISTS idx_announcements_starts_ends ON announcements(starts_at, ends_at);