Los seeders son el mecanismo que tenemos para generar datos de prueba de una manera sencilla; están fuertemente vinculadas con las migraciones en CodeIgniter 4, ya que el problema que tienen las migraciones, es que al hacer el rollback, perdemos toda la data de prueba... pero con los seeders podemos conseguir nuevamente esta data en muy poco tiempo; en vez de crearla nosotros de manera manual.
Los seeders o semilleros, los podemos generar via la linea de comandos; siguiente el esquema recomendado, deberíamos crear uno por entidad o al menos uno; pero debemos evitar manejar desde un solo archivo múltiples entidades, pero podrías por ejemplo si lo ves necesario, generar dos semilleros para generar usuarios diferentes, con diferentes roles.
Generar el seeder mediante spark
El comando es:
php spark db:seed UserSeeder
En donde UserSeeder es el nombre que le quieras dar al archivo y clase
Tenemos una función llamada run, que es la que empleamos para generar la data de prueba, ya sea de manera individual o en un ciclo en base a alguna condición; en nuestro caso, generamos unos 6 usuarios de prueba
public function run()
{
$userModel = new UserModel();
for ($i = 0; $i < 5; $i++) {
$userModel->insert([
'username' => 'user' . $i,
'email' => "user$i@gmail.com",
'password' => '12345'
]);
}
}
Luego, para ejecutar el seeder:
php spark make:seeder UserSeeder
Y listo, cuando revisemos la base de datos, veremos nuestros usuarios generados.
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter