Seeders en Laravel 9, ¿Qué son? ¿Para qué sirven? y ejemplos
¡Hola!
Los Seeders en Laravel 9 son una característica increíblemente útil que nos permite llenar nuestra base de datos de forma rápida con datos de prueba. Esto nos es realmente útil para los programadores que necesitamos crear datos de prueba para nuestras aplicaciones, esto nos permite crear y organizar los datos de prueba de forma sencilla y mantenerlos actualizados según la aplicación se va modificando
Índice
¿Para qué sirven los Seeders en Laravel 9?
Los Seeders en Laravel 9 sirven para inicializar la base de datos de la aplicación con datos de prueba que permiten probar la aplicación sin tener que ingresar manualmente información en la base de datos. Esto nos ayuda a mantener los datos de prueba actualizados al generar nuevos datos cada vez que se realizan cambios en la aplicación.
Ejemplo de uso: Un ejemplo de uso de los Seeders sería generar datos de prueba para una aplicación de una empresa donde los usuarios deben registrarse para acceder a los productos que ofrece. Podemos crear un Seeder para generar los datos de prueba de la aplicación. Nuestro Seeder puede crear un conjunto de usuarios que se registren con información de prueba, como nombres de usuario, contraseñas y direcciones de correo electrónico. Esto nos permitirá probar la aplicación con datos realistas que sean fáciles de generar y mantener al día.
Beneficios del uso de los Seeders en Laravel 9
Los Seeders en Laravel 9 ofrecen una variedad de beneficios a los desarrolladores:
-
1º Nos permiten crear y mantener datos de prueba actualizados sin tener que ingresarlos manualmente
-
2º Nos ayudan a ahorrar tiempo al no tener que generar los datos de prueba manualmente
-
3º Nos permiten probar la aplicación con datos realistas
-
4º Nos ayudan a mantener nuestros datos de prueba actualizados.
Esto nos permite tener una mejor comprensión de cómo se comportará nuestra aplicación cuando se lanza al mercado.
Comandos de Seeders Laravel 9
Los Seeders en Laravel 9 se pueden ejecutar usando los siguientes comandos:
Crear Seeder
Generará una clase Seeder en el directorio database/seeds que contiene el código necesario para generar los datos de prueba.
php artisan make:seeder
Ejecutar todos los Seeder
Ejecutará todos los Seeders existentes en el directorio de seeds.
php artisan db:seed
Ejecutar un seeder específico
Se puede usar para ejecutar uno o más Seeders específicos.
php artisan db:seed --class=NombreSeeder
Forzar ejecución de un Seeder
Se puede usar para forzar la ejecución de un Seeder específico, incluso si ya se ha ejecutado anteriormente.
php artisan db:seed --class=NombreSeeder --force
Ejemplo de uso de los Seeders en Laravel
Para mostrar un ejemplo de uso de los Seeders en Laravel 9, vamos a crear un Seeder de Usuarios de prueba. En primer lugar, creamos un Seeder con el comando php artisan make:seeder UserSeeder
, una vez hemos ejecutado el comando que nos genera el seeder en Laravel nos dirigmos al directorio database/seeders para comprobar que esta nuestro archivo UserSeeder.php
Editamos el archivo para que nos genere 5 usuarios:
<?php
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use App\Models\User;
class UserSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// Creamos 5 usuarios de prueba
for($i=0; $i<5; $i++) {
User::create([
'name' => 'user_' . $i,
'email' => 'user_' . $i . '@example.com',
'password' => bcrypt('password'),
]);
}
}
}
Ahora que hemos preparado el Seeder solo queda ejecutarlo para que nos rellene la tabla usuarios con 5 nuevos usuarios aleatorios
php artisan db:seed --class=UserSeeder