馃尡 Uso de Factories y Seeders
Genera datos de prueba de forma r谩pida y segura
Las factories y los seeders en Laravel facilitan la creaci贸n de datos de prueba. 脷tiles para poblar la base de datos durante el desarrollo, pruebas o demostraciones. En esta lecci贸n aprender谩s a crear factories, seeders y a ejecutar los comandos para poblar tablas con datos ficticios.
馃敡 ¿Qu茅 es una Factory?
Una factory define c贸mo se generan los atributos fake de un modelo (con Faker).
Se ubican en database/factories/ y facilitan la creaci贸n de instancias de modelos para tests o seeders.
Ejemplo: database/factories/UserFactory.php
$this->faker->name(),
'email' => $this->faker->unique()->safeEmail(),
'email_verified_at' => now(),
'password' => bcrypt('password'), // contrase帽a por defecto para pruebas
'remember_token' => Str::random(10),
];
}
}
?>
馃摝 ¿Qu茅 es un Seeder?
Un seeder es una clase que inserta datos en la base de datos. Normalmente usa factories para crear
muchos registros de forma sencilla. Se ubican en database/seeders/.
Ejemplo: database/seeders/UsersTableSeeder.php
count(50)->create();
}
}
?>
⚙️ Comandos 煤tiles
php artisan make:factory NombreFactory --model=Model— Crear una factory asociada a un modelo.php artisan make:seeder NombreSeeder— Crear un seeder.php artisan db:seed --class=UsersTableSeeder— Ejecutar un seeder concreto.php artisan migrate --seed— Ejecutar migraciones y seeders autom谩ticamente.php artisan migrate:fresh --seed— Borrar todas las tablas, migrar y seedear (煤til en desarrollo).
Comando: crear factory
php artisan make:factory UserFactory --model=User
馃帥️ Ejemplo visual: simular un seeder en la p谩gina
Aqu铆 puedes simular la ejecuci贸n de un seeder para ver c贸mo quedar铆an los datos en una tabla. (Esto es una simulaci贸n visual: los datos no afectan tu base real).
✅ Buenas pr谩cticas
- No uses datos reales en seeders p煤blicos (passwords, emails reales).
- Usa factories para generar datos coherentes y repetibles.
- Si necesitas datos determin铆sticos para tests, fija semillas (seed) o usa m茅todos que acepten un estado conocido.
- Evita ejecutar
migrate:fresh --seeden entornos de producci贸n.
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias