cocottetech/@platform/infrastructure/sql/migrations/0002_extend_surface_kind.sql

52 lines
2.9 KiB
MySQL
Raw Permalink Normal View History

-- 0002_extend_surface_kind.sql
--
-- Extends the surface_kind ENUM with the full surfaces roster per
-- @platform/codebase/@features/ai-copilot/docs/O-surfaces-roster.brief.md.
--
-- Source-of-truth for surfaces is the registrations.md tracker in v2 user data
-- (~/Code/@projects/@lilith/lilith-platform.live/users/transquinnftw/
-- agents/coworker-agent/data/business/registrations.md) plus context.md
-- in-flight additions. This migration adds the directories Quinn already has
-- live or pending plus three content surfaces that were missed in 0001.
--
-- PostgreSQL ENUM values cannot be removed; ALTER TYPE ... ADD VALUE is the
-- only forward path. Each ADD VALUE is idempotent via IF NOT EXISTS so the
-- migration is safe to re-run against a partially-applied DB.
--
-- IF NOT EXISTS requires Postgres ≥ 9.6; platform.db on black is ≥ 14.
-- ---------------------------------------------------------------------------
-- N1 — Content surfaces (missed in 0001)
-- ---------------------------------------------------------------------------
ALTER TYPE surface_kind ADD VALUE IF NOT EXISTS 'bluesky';
ALTER TYPE surface_kind ADD VALUE IF NOT EXISTS 'reddit';
ALTER TYPE surface_kind ADD VALUE IF NOT EXISTS 'fansly';
-- ---------------------------------------------------------------------------
-- N2 — Escort directories Quinn already operates on
-- ---------------------------------------------------------------------------
ALTER TYPE surface_kind ADD VALUE IF NOT EXISTS 'seeking';
ALTER TYPE surface_kind ADD VALUE IF NOT EXISTS 'privatedelights';
ALTER TYPE surface_kind ADD VALUE IF NOT EXISTS 'tsescorts';
ALTER TYPE surface_kind ADD VALUE IF NOT EXISTS 'adultsearch';
ALTER TYPE surface_kind ADD VALUE IF NOT EXISTS 'adultlook';
ALTER TYPE surface_kind ADD VALUE IF NOT EXISTS 'eroticmonkey';
ALTER TYPE surface_kind ADD VALUE IF NOT EXISTS 'skipthegames';
ALTER TYPE surface_kind ADD VALUE IF NOT EXISTS 'megapersonals';
ALTER TYPE surface_kind ADD VALUE IF NOT EXISTS 'ts_live';
-- ---------------------------------------------------------------------------
-- Not added in this migration (rationale in O-surfaces-roster.brief.md):
-- - N3 brand sites (transquinnftw, adult-therapy-tours, futa-waifu-tour):
-- these are platform-owned publishing targets, not external surfaces.
-- Will land in a separate `brand_site_kind` ENUM if/when needed.
-- - N4 messaging channels (imessage, signal, telegram, discord, email,
-- sniffies): channels not posting surfaces; belong in a future
-- `channel_kind` ENUM separate from surface_kind.
-- - N5 commerce surfaces (venmo, cashapp, wishtender, throne): P5+; will
-- land as a `commerce_kind` ENUM when the commerce axis is designed.
--
-- These exclusions keep surface_kind narrow + semantically clean:
-- surface_kind == "external platform where content lives or a listing is posted".
-- ---------------------------------------------------------------------------