managarten/chat/apps/mobile/scripts/fix_templates_table.sql
Till-JS c638a7ffee feat(chat): integrate chat project into monorepo with full app structure
- Restructure chat as apps/mobile, apps/web, apps/landing, backend
- Add NestJS backend for secure Azure OpenAI API calls
- Remove exposed API key from mobile app (security fix)
- Add shared chat-types package
- Create SvelteKit web app scaffold
- Create Astro landing page scaffold
- Update pnpm workspace configuration
- Add project-level CLAUDE.md documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 13:48:24 +01:00

73 lines
No EOL
2.4 KiB
SQL

-- Überprüfe und korrigiere die templates-Tabelle
-- 1. Prüfe, ob die templates-Tabelle existiert, erstelle sie falls nicht
DO $$
BEGIN
IF NOT EXISTS (
SELECT FROM information_schema.tables
WHERE table_schema = 'public'
AND table_name = 'templates'
) THEN
-- Erstelle die Tabelle für Vorlagen
CREATE TABLE public.templates (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
user_id UUID NOT NULL REFERENCES auth.users(id) ON DELETE CASCADE,
name TEXT NOT NULL,
description TEXT,
system_prompt TEXT NOT NULL,
initial_question TEXT,
model_id UUID REFERENCES models(id),
color TEXT DEFAULT '#0A84FF',
is_default BOOLEAN DEFAULT false,
created_at TIMESTAMP WITH TIME ZONE DEFAULT now(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT now()
);
RAISE NOTICE 'Tabelle templates wurde erstellt.';
ELSE
RAISE NOTICE 'Tabelle templates existiert bereits.';
END IF;
END
$$;
-- 2. Prüfe, ob die color-Spalte existiert, füge sie hinzu falls nicht
DO $$
BEGIN
IF NOT EXISTS (
SELECT FROM information_schema.columns
WHERE table_schema = 'public'
AND table_name = 'templates'
AND column_name = 'color'
) THEN
ALTER TABLE public.templates ADD COLUMN color TEXT DEFAULT '#0A84FF';
RAISE NOTICE 'Spalte color zur templates-Tabelle hinzugefügt.';
ELSE
RAISE NOTICE 'Spalte color existiert bereits in der templates-Tabelle.';
END IF;
END
$$;
-- 3. Row Level Security
ALTER TABLE templates ENABLE ROW LEVEL SECURITY;
-- Lösche bestehende Policies, falls vorhanden
DROP POLICY IF EXISTS "Users can view their own templates" ON templates;
DROP POLICY IF EXISTS "Users can create their own templates" ON templates;
DROP POLICY IF EXISTS "Users can update their own templates" ON templates;
DROP POLICY IF EXISTS "Users can delete their own templates" ON templates;
-- Erstelle die Policies neu
CREATE POLICY "Users can view their own templates" ON templates
FOR SELECT USING (user_id = auth.uid());
CREATE POLICY "Users can create their own templates" ON templates
FOR INSERT WITH CHECK (user_id = auth.uid());
CREATE POLICY "Users can update their own templates" ON templates
FOR UPDATE USING (user_id = auth.uid());
CREATE POLICY "Users can delete their own templates" ON templates
FOR DELETE USING (user_id = auth.uid());
-- 4. Zeige einige Beispieldaten an
SELECT id, name, description, color FROM templates LIMIT 5;