واجهت مشكلة أثناء الترقية من v2026.3.0-latest. يفشل مهمة rake db:seed_fu عند الوصول إلى الملف 002_groups.rb بالخطأ التالي:
ActiveRecord::RecordInvalid: Validation failed: Name has already been taken. (ActiveRecord::RecordInvalid)
تحدث الانهيار مباشرة عندما يحاول برنامج التهيئة (Seeder) تهيئة مجموعات النظام الجديدة (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، تكتمل المهمة دون أي أخطاء.