-- 打手昵称唯一：昵称作为登录凭证之一，需全局唯一。
-- 存量空昵称账号用账号名兜底（冲突时保持空昵称，不参与唯一约束）。

UPDATE worker_users
SET display_name = username
WHERE display_name = ''
  AND NOT EXISTS (
    SELECT 1 FROM worker_users other
    WHERE other.display_name = worker_users.username
      AND other.id <> worker_users.id
  );

CREATE UNIQUE INDEX IF NOT EXISTS idx_worker_users_display_name_unique
  ON worker_users (display_name)
  WHERE display_name <> '';
