Files
teamvis-selfhost/supabase/migrations/0071_ai_compatible_provider.sql

40 lines
1.7 KiB
SQL

-- KI-Anbieter mit OpenAI-kompatibler Schnittstelle und eigener Adresse
-- ====================================================================
-- Ergänzt die drei festen Anbieter aus 0038 um einen vierten, dessen
-- Adresse die Verwaltung selbst einträgt — z. B. ein Hoster mit Sitz und
-- Verarbeitung in der EU oder ein selbst betriebenes Modell. Nur additiv:
-- neue Spalten und eine erweiterte Prüfregel.
alter table public.site_settings
add column if not exists ai_compatible_name text,
add column if not exists ai_compatible_base_url text,
add column if not exists ai_compatible_key text,
add column if not exists ai_compatible_model text;
-- Die Prüfregel aus 0038 hat einen automatisch vergebenen Namen; sie wird
-- über ihre Definition gefunden und mit 'compatible' neu angelegt.
do $$
declare c record;
begin
for c in
select conname
from pg_constraint
where conrelid = 'public.site_settings'::regclass
and contype = 'c'
and pg_get_constraintdef(oid) like '%ai_active_provider%'
loop
execute format('alter table public.site_settings drop constraint %I', c.conname);
end loop;
end $$;
alter table public.site_settings
add constraint site_settings_ai_active_provider_check
check (ai_active_provider in ('anthropic', 'openai', 'openrouter', 'compatible'));
-- Nur verschlüsselte Verbindungen: Über die Schnittstelle gehen
-- personenbezogene Daten.
alter table public.site_settings drop constraint if exists site_settings_ai_compatible_base_url_https;
alter table public.site_settings
add constraint site_settings_ai_compatible_base_url_https
check (ai_compatible_base_url is null or ai_compatible_base_url ~ '^https://');