diff --git a/shop/supabase/migrations/20260623000300_create_customers_table.sql b/shop/supabase/migrations/20260623000300_create_customers_table.sql new file mode 100644 index 0000000..27477b2 --- /dev/null +++ b/shop/supabase/migrations/20260623000300_create_customers_table.sql @@ -0,0 +1,29 @@ +-- Erstellt die Tabelle direkt mit allen Feldern neu +CREATE TABLE IF NOT EXISTS public.customers ( + id UUID DEFAULT gen_random_uuid() PRIMARY KEY, + created_at TIMESTAMP WITH TIME ZONE DEFAULT timezone('utc'::text, now()) NOT NULL, + user_id UUID REFERENCES auth.users(id), -- Verknüpfung zu Supabase Auth + + -- Neue Pflichtfelder für CASPOS Lizenzserver + company_name TEXT NOT NULL, + street TEXT NOT NULL, + tax_id TEXT NOT NULL, + contact_person TEXT NOT NULL, + email TEXT NOT NULL, + phone_no TEXT NOT NULL, + + -- Optionales Feld + dongle_no TEXT +); + +-- Zeilen-Sicherheit (RLS) direkt aktivieren +ALTER TABLE public.customers ENABLE ROW LEVEL SECURITY; + +-- Policy: Nutzer darf nur eigene Kundendaten sehen +DROP POLICY IF EXISTS "Nutzer sehen nur eigene Daten" ON public.customers; +CREATE POLICY "Nutzer sehen nur eigene Daten" +ON public.customers +FOR ALL +TO authenticated +USING (auth.uid() = user_id) +WITH CHECK (auth.uid() = user_id);