19 lines
943 B
SQL
19 lines
943 B
SQL
do $$
|
|
begin
|
|
update
|
|
{{ index .Options "Namespace" }}.identities as identities
|
|
set
|
|
identity_data = identity_data || jsonb_build_object('email', (select email from {{ index .Options "Namespace" }}.users where id = identities.user_id)),
|
|
updated_at = '2022-11-25'
|
|
where identities.provider = 'email' and identity_data->>'email' is null;
|
|
end $$;
|
|
|
|
alter table only {{ index .Options "Namespace" }}.identities
|
|
add column if not exists email text generated always as (lower(identity_data->>'email')) stored;
|
|
|
|
comment on column {{ index .Options "Namespace" }}.identities.email is 'Auth: Email is a generated column that references the optional email property in the identity_data';
|
|
|
|
create index if not exists identities_email_idx on {{ index .Options "Namespace" }}.identities (email text_pattern_ops);
|
|
|
|
comment on index {{ index .Options "Namespace" }}.identities_email_idx is 'Auth: Ensures indexed queries on the email column';
|