Files
SimpleFinanceDash/supabase/migrations/001_profiles.sql
2026-04-02 14:29:36 +02:00

38 lines
1.0 KiB
PL/PgSQL

-- Profiles table (extends Supabase auth.users)
create table profiles (
id uuid primary key references auth.users(id) on delete cascade,
display_name text,
locale text not null default 'en',
currency text not null default 'EUR',
created_at timestamptz not null default now(),
updated_at timestamptz not null default now()
);
alter table profiles enable row level security;
create policy "Users can read own profile"
on profiles for select
using (id = auth.uid());
create policy "Users can update own profile"
on profiles for update
using (id = auth.uid())
with check (id = auth.uid());
create policy "Users can insert own profile"
on profiles for insert
with check (id = auth.uid());
-- Auto-create profile on user signup
create or replace function handle_new_user()
returns trigger as $$
begin
insert into profiles (id) values (new.id);
return new;
end;
$$ language plpgsql security definer;
create trigger on_auth_user_created
after insert on auth.users
for each row execute function handle_new_user();