"UPDATE users SET email = lower(email) WHERE email <> lower(email)"
)
# Add a random number and '_CONFLICT_CASE' string as a suffix to logins which
# are not in lowercase and are not unique when in lowercase and disable users
# with such logins.
op.execute(
"UPDATE users u1 SET login = concat(u1.login, '_', floor(random() * 10000 + 1), '_CONFLICT_CASE'), enabled = FALSE FROM (SELECT lower(login) login FROM users GROUP BY lower(login) HAVING count(*) > 1) u2 WHERE lower(u1.login) = u2.login"
)
op.execute(
"UPDATE users SET login = lower(login) WHERE login <> lower(login)"