Mahmoud Al-HabashOpen to new projects
  • WorkWork
  • ServicesServices
  • LabLab
  • WritingWriting
  • ContactContact
Amman--:--عربي
Writing/Laravel

Laravel Seeders Best Practices

Write maintainable and efficient database seeders.

16 January 20261 min readLaravelاقرأ بالعربية

On this page

  1. Organize Seeders
  2. Use Factories
  3. Truncate Tables
  4. Environment Check

Seeder best practices:

Organize Seeders

php
class DatabaseSeeder extends Seeder
{
    public function run()
    {
        $this->call([
            RolesSeeder::class,
            UsersSeeder::class,
            PostsSeeder::class,
        ]);
    }
}

Use Factories

php
User::factory()
    ->count(50)
    ->has(Post::factory()->count(5))
    ->create();

Truncate Tables

php
Schema::disableForeignKeyConstraints();
User::truncate();
Schema::enableForeignKeyConstraints();

Environment Check

if (app()->environment('production')) {
    return;
}
All articles

Keep reading

  • Laravel Action Classes Pattern16 January 20261 min read
  • Laravel Action Classes: Single Responsibility16 January 20261 min read
  • Laravel API Rate Limiting16 January 20261 min read