Db:seed_fu のアップグレード中に 002_groups.rb で失敗:Validation failed: Name has already been taken

「私も!」ボタンはどこへ行ったのですか?

これは、既存のグループまたはユーザー(!!!)が anonymous という名前で存在する場合に発生します。

インポート後に anonymous をユーザー名として使用していたフォーラムが多数あります。
コミットには以下のように記載されています。

この PR は、anonymous_users と logged_in_users という 2 つの新しい自動グループを導入します

しかし、実際にはそのグループは _users を含まずに anonymous と呼ばれることになったようです。

これは残念なことです。なぜなら

  • anonymous という名前は、それがユーザーグループなのか単一のユーザーなのかを不明確にするため
  • _users がなければ、既存のグループやユーザーとの競合リスクが大幅に高まるため

提案される解決策:

  1. グループを結局のところ anonymous_users と命名する。これは logged_in_users と一貫性があり、競合リスクを劇的に低減します
  2. 少なくとも競合を検知し、エラーを返す代わりに既存のユーザーまたはグループをリネームする
「いいね!」 2