Db:seed_fu가 업그레이드 중 002_groups.rb에서 실패: Validation failed: Name has already been taken

“나도!” 버튼이 어디로 사라졌나요?

기존에 anonymous라는 이름의 그룹 또는 사용자(!)가 존재할 때 이러한 문제가 발생합니다.

수많은 포럼에서 가져오기(import) 후 anonymous를 사용자 이름으로 사용했습니다.

해당 커밋에는

이 PR은 anonymous_users와 logged_in_users라는 두 개의 새로운 자동 그룹을 도입합니다

라고 언급되어 있지만, 결국 _users 접미사 없이 anonymous라는 이름의 그룹으로 변경된 것으로 보입니다.

이것은 아쉬운 부분입니다. 그 이유는 다음과 같습니다.

  • anonymous라는 이름만으로는 사용자 그룹인지 단일 사용자인지 구별하기 어렵습니다.
  • _users 접미사가 없으면 기존 그룹이나 사용자와의 이름 충돌 가능성이 훨씬 높아집니다.

제안하는 해결책:

  1. 어차피 그룹 이름을 anonymous_users로 바꾸는 것이 logged_in_users와 일관성을 유지하고 충돌 가능성을 크게 줄입니다.
  2. 최소한 충돌을 감지하고, 오류를 발생시키는 대신 기존 사용자 또는 그룹의 이름을 변경하도록 처리해야 합니다.
2개의 좋아요