شرح صفوف ومحتوى الفقرة
تكون الجداول فارغة تماماً بعد تشغيل التهجيرات، وتحتاج إلى بيانات أولية أساسية مثل الدول أو الصلاحيات أو الأقسام الافتراضية. تقع فئات البذر Seeders داخل مجلد database/seeders وتغلف كود تعبئة البيانات القابل للتكرار داخل دالة run.
- توليد الفئة (make:seeder): إنشاء كلاس بذر جديد داخل مجلد database/seeders بأمر Artisan.
- دالة التنفيذ (run): الدالة المركزية التي تكتب بداخلها أوامر إدراج أو دمج البيانات الأولية.
- البذر القابل للتكرار (Idempotent Seeding): يفضل استخدام upsert داخل فئات البذر لمنع أخطاء التكرار عند إعادة تشغيلها.
PHP
class RoleSeeder extends Seeder {
public function run(): void {
DB::table('roles')->upsert(
[['slug' => 'admin', 'name' => 'Admin']],
['slug'], ['name']
);
}
}