Seeder o semilleros en CodeIgniter 4 para generar datos de prueba

- Andrés Cruz

In english
Seeder o semilleros en CodeIgniter 4 para generar datos de prueba

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.

Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz en Udemy

Acepto recibir anuncios de interes sobre este Blog.