-- create_shop_follows.sql -- Run this in Supabase SQL Editor CREATE TABLE IF NOT EXISTS public.ml_shop_follows ( id UUID DEFAULT gen_random_uuid() PRIMARY KEY, user_id UUID NOT NULL REFERENCES auth.users(id) ON DELETE CASCADE, shop_id UUID NOT NULL REFERENCES public.ml_shops(id) ON DELETE CASCADE, -- Assuming ml_shops.id is UUID created_at TIMESTAMP WITH TIME ZONE DEFAULT timezone('utc'::text, now()) NOT NULL, UNIQUE(user_id, shop_id) ); -- Enable RLS ALTER TABLE public.ml_shop_follows ENABLE ROW LEVEL SECURITY; -- Policies CREATE POLICY "Users can view their own follows" ON public.ml_shop_follows FOR SELECT USING (auth.uid() = user_id); CREATE POLICY "Users can create their own follows" ON public.ml_shop_follows FOR INSERT WITH CHECK (auth.uid() = user_id); CREATE POLICY "Users can delete their own follows" ON public.ml_shop_follows FOR DELETE USING (auth.uid() = user_id); -- Optional: View count on shops -- You might want to add follower_count to ml_shops and use triggers to update it.