He eliminado un usuario con el nombre de usuario = “XXX” y quiero cambiar el nombre de usuario de otro usuario para que coincida con el del usuario eliminado, pero no puedo. Recibo el mensaje: “El nombre de usuario debe ser único”.
¿Cómo puedo verificar si un nombre de usuario está ocupado o si la eliminación del anterior se completó realmente?
No lo sé. ¿Cuál es el nombre de usuario que estás intentando usar?
Quizás estás intentando usar un nombre de usuario reservado, pero supongo que recibirías un mensaje diferente…
Además, el usuario anterior no habría podido elegirlo
Aquí está el código que verifica si un nombre de usuario ya está en uso:
USERNAME_EXISTS_SQL = <<~SQL
(SELECT users.id AS id, true as is_user FROM users
WHERE users.username_lower = :username)
UNION ALL
(SELECT groups.id, false as is_user FROM groups
WHERE lower(groups.name) = :username)
SQL
¿Algún usuario eliminado?
edición: Intenté cambiar el nombre de un usuario por el mismo nombre de un grupo, y dice que el nombre de usuario debe ser único. ¿Quizás ese es tu problema?