diff --git a/migrations/20221003041349_add_mfa_schema.up.sql b/migrations/20221003041349_add_mfa_schema.up.sql index a44654aed..740c8849d 100644 --- a/migrations/20221003041349_add_mfa_schema.up.sql +++ b/migrations/20221003041349_add_mfa_schema.up.sql @@ -1,19 +1,22 @@ -- see: https://stackoverflow.com/questions/7624919/check-if-a-user-defined-type-already-exists-in-postgresql/48382296#48382296 -do $$ begin - create type factor_type as enum('totp', 'webauthn'); - create type factor_status as enum('unverified', 'verified'); - create type aal_level as enum('aal1', 'aal2', 'aal3'); +do $$ +begin + create type {{ index .Options "Namespace" }}.factor_type as enum('totp', 'webauthn'); + create type {{ index .Options "Namespace" }}.factor_status as enum('unverified', 'verified'); + create type {{ index .Options "Namespace" }}.aal_level as enum('aal1', 'aal2', 'aal3'); exception - when duplicate_object then null; -end $$; + when duplicate_object then raise notice '%, skipping', sqlerrm using errcode = sqlstate; + when others then null; +end +$$; -- auth.mfa_factors definition create table if not exists {{ index .Options "Namespace" }}.mfa_factors( id uuid not null, user_id uuid not null, friendly_name text null, - factor_type factor_type not null, - status factor_status not null, + factor_type {{ index .Options "Namespace" }}.factor_type not null, + status {{ index .Options "Namespace" }}.factor_status not null, created_at timestamptz not null, updated_at timestamptz not null, secret text null, diff --git a/migrations/20221003041400_add_aal_and_factor_id_to_sessions.up.sql b/migrations/20221003041400_add_aal_and_factor_id_to_sessions.up.sql index cc8a2096d..426a42f59 100644 --- a/migrations/20221003041400_add_aal_and_factor_id_to_sessions.up.sql +++ b/migrations/20221003041400_add_aal_and_factor_id_to_sessions.up.sql @@ -1,3 +1,3 @@ -- add factor_id to sessions alter table {{ index .Options "Namespace" }}.sessions add column if not exists factor_id uuid null; - alter table {{ index .Options "Namespace" }}.sessions add column if not exists aal aal_level null; + alter table {{ index .Options "Namespace" }}.sessions add column if not exists aal {{ index .Options "Namespace" }}.aal_level null; diff --git a/migrations/20230322519590_add_flow_state_table.up.sql b/migrations/20230322519590_add_flow_state_table.up.sql index a8842e5b0..c54455f90 100644 --- a/migrations/20230322519590_add_flow_state_table.up.sql +++ b/migrations/20230322519590_add_flow_state_table.up.sql @@ -1,6 +1,6 @@ -- see: https://stackoverflow.com/questions/7624919/check-if-a-user-defined-type-already-exists-in-postgresql/48382296#48382296 do $$ begin - create type code_challenge_method as enum('s256', 'plain'); + create type {{ index .Options "Namespace" }}.code_challenge_method as enum('s256', 'plain'); exception when duplicate_object then null; end $$; @@ -8,7 +8,7 @@ create table if not exists {{ index .Options "Namespace" }}.flow_state( id uuid primary key, user_id uuid null, auth_code text not null, - code_challenge_method code_challenge_method not null, + code_challenge_method {{ index .Options "Namespace" }}.code_challenge_method not null, code_challenge text not null, provider_type text not null, provider_access_token text null, diff --git a/migrations/20240427152123_add_one_time_tokens_table.up.sql b/migrations/20240427152123_add_one_time_tokens_table.up.sql index 86e6ad427..58e17784e 100644 --- a/migrations/20240427152123_add_one_time_tokens_table.up.sql +++ b/migrations/20240427152123_add_one_time_tokens_table.up.sql @@ -1,5 +1,5 @@ do $$ begin - create type one_time_token_type as enum ( + create type {{ index .Options "Namespace" }}.one_time_token_type as enum ( 'confirmation_token', 'reauthentication_token', 'recovery_token', @@ -16,7 +16,7 @@ do $$ begin create table if not exists {{ index .Options "Namespace" }}.one_time_tokens ( id uuid primary key, user_id uuid not null references {{ index .Options "Namespace" }}.users on delete cascade, - token_type one_time_token_type not null, + token_type {{ index .Options "Namespace" }}.one_time_token_type not null, token_hash text not null, relates_to text not null, created_at timestamp without time zone not null default now(),