-- Étape 2 (auth) — table profiles + trigger de création automatique. -- À coller dans Supabase Studio > SQL Editor et exécuter une fois. create table if not exists public.profiles ( id uuid primary key references auth.users (id) on delete cascade, full_name text, avatar_url text, city text, created_at timestamptz not null default now(), updated_at timestamptz not null default now() ); alter table public.profiles enable row level security; drop policy if exists "profiles_select_authenticated" on public.profiles; create policy "profiles_select_authenticated" on public.profiles for select to authenticated using (true); drop policy if exists "profiles_update_own" on public.profiles; create policy "profiles_update_own" on public.profiles for update to authenticated using (auth.uid() = id) with check (auth.uid() = id); -- Crée automatiquement une ligne profiles à chaque inscription (auth.users). create or replace function public.handle_new_user() returns trigger language plpgsql security definer set search_path = public as $$ begin insert into public.profiles (id, full_name) values (new.id, new.raw_user_meta_data ->> 'full_name'); return new; end; $$; drop trigger if exists on_auth_user_created on auth.users; create trigger on_auth_user_created after insert on auth.users for each row execute function public.handle_new_user();