GlosarioBase de datos

¿Qué es Seeder?

Los Seeders en Laravel son clases que permiten poblar la base de datos con datos de prueba o datos iniciales necesarios para la aplicacion, ejecutandose con el comando php artisan db:seed.

Seeders

Los seeders permiten insertar datos en la base de datos de forma programatica. Son utiles tanto para poblar datos iniciales (como roles o categorias) como para generar datos de prueba durante el desarrollo.

Crear un seeder

php artisan make:seeder PostSeeder
class PostSeeder extends Seeder
{
    public function run(): void
    {
        // Usando factories
        Post::factory(50)->create();

        // O insertando datos especificos
        Post::create([
            'title' => 'Post de bienvenida',
            'body' => 'Este es el primer post del blog.',
            'published' => true,
        ]);
    }
}

Ejecutar seeders

// Ejecutar todos los seeders
php artisan db:seed

// Ejecutar un seeder especifico
php artisan db:seed --class=PostSeeder

// Recrear BD y ejecutar seeders
php artisan migrate:fresh --seed

Es habitual organizar los seeders llamandolos desde DatabaseSeeder, que actua como punto de entrada principal. Los seeders combinados con factories permiten generar grandes cantidades de datos realistas para pruebas.