Ctrl K
ComunidadGuías…

drizzle/0058_case_insensitive_user_identifiers_manual.sql

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
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));