v2026.3.0-latestからのアップグレード中に問題が発生しました。rake db:seed_fuタスクが002_groups.rbで実行された際に、以下のエラーで失敗します。
ActiveRecord::RecordInvalid: Validation failed: Name has already been taken. (ActiveRecord::RecordInvalid)
クラッシュは、シードデータが新しいシステムグループ(ID 4: anonymous および ID 5: logged_in_users)の初期化を試みる直前で発生します。
Rails コンソールで確認しました。手動チェックではバリデーションで失敗しますが、バリデーションをバイパスすると問題なくデータベースにレコードが保存されます。
# これは「Name has already been taken」で失敗します
g = Group.new(id: 4, name: "anonymous", automatic: true)
g.valid?
# これは正常に動作し、実際の競合がないことを証明します
g.save(validate: false)
この問題を回避するために、これらの新しいシステムグループを手動で作成しました。
ActiveRecord::Base.transaction do
g4 = Group.new(id: 4, name: "anonymous", automatic: true)
g4.save(validate: false)
g5 = Group.new(id: 5, name: "logged_in_users", automatic: true)
g5.save(validate: false)
end
これで、rake db:seed_fuを実行してもエラーなく完了します。