summaryrefslogtreecommitdiffstats
path: root/server/migrations/2020-02-02-004806_add_case_insensitive_usernames/up.sql
blob: 07f854b1c99fdeab295d6a13c553c88b91ee472a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
-- Add case insensitive username and email uniqueness

-- An example of showing the dupes:
-- select
--   max(id) as id,
--   lower(name) as lname,
--   count(*)
-- from user_
-- group by lower(name)
-- having count(*) > 1;

-- Delete username dupes, keeping the first one
delete
from user_
where id not in (
  select min(id)
  from user_
  group by lower(name), lower(fedi_name)
);

-- The user index 
create unique index idx_user_name_lower on user_ (lower(name));

-- Email lower
create unique index idx_user_email_lower on user_ (lower(email));

-- Set empty emails properly to null
update user_ set email = null where email = '';