chatdesk-ui/auth_v2.169.0/migrations/20220429102000_add_unique_i...

15 lines
1.4 KiB
SQL

-- add partial unique indices to confirmation_token, recovery_token, email_change_token_current, email_change_token_new, phone_change_token, reauthentication_token
-- ignores partial unique index creation on fields which contain empty strings, whitespaces or purely numeric otps
DROP INDEX IF EXISTS confirmation_token_idx;
DROP INDEX IF EXISTS recovery_token_idx;
DROP INDEX IF EXISTS email_change_token_current_idx;
DROP INDEX IF EXISTS email_change_token_new_idx;
DROP INDEX IF EXISTS reauthentication_token_idx;
CREATE UNIQUE INDEX IF NOT EXISTS confirmation_token_idx ON {{ index .Options "Namespace" }}.users USING btree (confirmation_token) WHERE confirmation_token !~ '^[0-9 ]*$';
CREATE UNIQUE INDEX IF NOT EXISTS recovery_token_idx ON {{ index .Options "Namespace" }}.users USING btree (recovery_token) WHERE recovery_token !~ '^[0-9 ]*$';
CREATE UNIQUE INDEX IF NOT EXISTS email_change_token_current_idx ON {{ index .Options "Namespace" }}.users USING btree (email_change_token_current) WHERE email_change_token_current !~ '^[0-9 ]*$';
CREATE UNIQUE INDEX IF NOT EXISTS email_change_token_new_idx ON {{ index .Options "Namespace" }}.users USING btree (email_change_token_new) WHERE email_change_token_new !~ '^[0-9 ]*$';
CREATE UNIQUE INDEX IF NOT EXISTS reauthentication_token_idx ON {{ index .Options "Namespace" }}.users USING btree (reauthentication_token) WHERE reauthentication_token !~ '^[0-9 ]*$';