-- ===================================================================== -- CONTENT SCHEMA — Part 17: AI settings (per-tenant OpenAI config) -- Stores the OpenAI (or OpenAI-compatible) API credentials used by the -- AI SEO content generator. One row per tenant; api_key is stored as-is -- (self-hosted) and never returned in full to clients (masked in the API). -- base_url is configurable so deployments behind a proxy / in restricted -- networks can point at a reachable OpenAI-compatible endpoint. -- ===================================================================== SET search_path TO content, public; CREATE TABLE IF NOT EXISTS ai_settings ( tenant_id UUID PRIMARY KEY, provider TEXT NOT NULL DEFAULT 'openai', api_key TEXT, base_url TEXT NOT NULL DEFAULT 'https://api.openai.com/v1', model TEXT NOT NULL DEFAULT 'gpt-4o-mini', enabled BOOLEAN NOT NULL DEFAULT FALSE, updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW() );