dipankarmaikap
07/05/2022, 11:07 AMbegin
insert into public.profiles (id, email, name, location, confirmed_at)
values (new.id, new.email, new.raw_user_meta_data->> 'name', new.raw_user_meta_data->> 'location', new.email_confirmed_at);
return new;
end;
Hey I have this sql function when new user signs up it creates a profile for each. Its working but the confirmed_at field is not updating i dont know why, i tried new.email_confirmed_at
and new.confirmed_at
silentworks
07/05/2022, 1:29 PMauth.users
table and check if the email_confirmed_at
filed has changed and update the public.profiles
table at that point.dipankarmaikap
07/05/2022, 1:54 PMbegin
if OLD.confirmed_at != NEW.confirmed_at then
insert into public.profiles (id, email, name, location, confirmed_at)
values (new.id, new.email, new.raw_user_meta_data->> 'name', new.raw_user_meta_data->> 'location', new.email_confirmed_at);
end if;
return new;
end;
dipankarmaikap
07/05/2022, 1:54 PMdipankarmaikap
07/05/2022, 2:17 PMbegin
if NOT EXISTS (select confirmed_at from public.profiles where id = new.id) then
update public.profiles
set confirmed_at = new.confirmed_at
where id = new.id ;
end if;
return new;
end;
dipankarmaikap
07/05/2022, 2:27 PMbegin
if OLD.email_confirmed_at !=NEW.email_confirmed_at then
update public.profiles
set confirmed_at = new.email_confirmed_at
where id = new.id ;
end if;
return new;
end;
silentworks
07/05/2022, 9:29 PMsilentworks
07/05/2022, 9:30 PMdipankarmaikap
07/06/2022, 5:44 AMconfirmed_at
field
begin
insert into public.profiles (id, email, name, location, confirmed_at)
values (new.id, new.email, new.raw_user_meta_data->> 'name', new.raw_user_meta_data->> 'location', new.email_confirmed_at);
return new;
end;
And i have a second update trigger like you suggested, here is what i tried
begin
if NOT EXISTS (select confirmed_at from public.profiles where id = new.id) then
update public.profiles
set confirmed_at = new.confirmed_at
where id = new.id ;
end if;
return new;
end;
The above did'nt work so i tried this also and this also did not worked.
begin
if OLD.email_confirmed_at !=NEW.email_confirmed_at then
update public.profiles
set confirmed_at = new.email_confirmed_at
where id = new.id ;
end if;
return new;
end;