تخطَّ إلى المحتوى

make:seeder

توليد بذرة بيانات make:seeder

make:seeder يولّد صنف بذرة (Seeder) في database/seeders، لتعبئة جدول ببيانات ثابتة أو تجريبية بأمر واحد.

البذور مفيدة لبيانات لازمة دائمًا (مثل قائمة أدوار المستخدمين أو تصنيفات ثابتة)، بعكس المصانع (Factories) المخصّصة لتوليد بيانات عشوائية كثيرة للاختبار.

تُسجَّل البذور عادة داخل DatabaseSeeder الرئيسي عبر تابع call()، فتُشغَّل كلّها بأمر db:seed واحد بدل تشغيل كل بذرة يدويًا.

الصياغة

php artisan make:seeder NameSeeder

📄 مثال

php artisan make:seeder RoleSeeder

# داخل database/seeders/DatabaseSeeder.php
public function run(): void
{
    $this->call([
        RoleSeeder::class,
        PostSeeder::class,
    ]);
}

# تشغيل كل البذور المسجَّلة
php artisan db:seed

# تشغيل بذرة واحدة فقط
php artisan db:seed --class=RoleSeeder

أهم الخيارات

الخيارالوظيفة
--class=Nameيشغّل بذرة محدّدة بدل DatabaseSeeder الرئيسي

💡 نصائح عملية

  • استخدم migrate:fresh --seed لإعادة بناء قاعدة البيانات كاملة وتعبئتها بأمر واحد

⚠️ أخطاء شائعة

  • نسيان تسجيل البذرة الجديدة داخل DatabaseSeeder فلا تُشغَّل أبدًا مع db:seed

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار LARAVEL الكامل بالعربي.