drizzle/0058_case_insensitive_user_identifiers_manual.sql
Rama main · réplica de lectura del repositorio original.
DO $$
BEGIN
IF EXISTS (
SELECT 1
FROM users
GROUP BY lower(email)
HAVING count(*) > 1
) THEN
RAISE EXCEPTION 'Cannot create the case-insensitive email index because duplicate email values exist.';
END IF;
IF EXISTS (
SELECT 1
FROM users
WHERE username IS NOT NULL
GROUP BY lower(username)
HAVING count(*) > 1
) THEN
RAISE EXCEPTION 'Cannot create the case-insensitive username index because duplicate username values exist.';
END IF;
END $$;
DROP INDEX IF EXISTS users_email_unique;
CREATE UNIQUE INDEX users_email_unique ON users USING btree (lower(email));
DROP INDEX IF EXISTS users_username_unique;
CREATE UNIQUE INDEX users_username_unique ON users USING btree (lower(username));