SEEDERS EN LARAVEL: QUÉ SON Y CÓMO UTILIZARLOS

Los seeders en Laravel sirven para insertar datos de forma automática en la base de datos, normalmente datos iniciales, de prueba o de desarrollo. Son el complemento perfecto de las migraciones en Laravel. Los seeders se deben crear en la ruta Las migraciones de Laravel hay que crearlos en el directorio "database/seeders/". El nombre del fichero debe incluir el nombre de la tabla. Un seeder es una clase que contiene instrucciones para poblar tablas con datos y se usan para:
  • Datos iniciales (roles, permisos, países, configuraciones).
  • Datos de prueba.
  • Ambientes de desarrollo y testing.
  • Evitar insertar datos manualmente.
Estructura de un seeder:

use Illuminate\Database\Seeder;
use App\Models\User;

class UserSeeder extends Seeder
{
public function run()
{
User::create([
  'name' => 'Admin',
  'email' => 'admin@example.com',
  'password' => bcrypt('password'),
]);
}
}
El método run() contiene la lógica de inserción. Para ejecutar un seeder hay que usar el comando:

php artisan db:seed
Y si se quiere ejecutar un seeder en concreto:

php artisan db:seed --class=UserSeeder
Existe la posibilidad de crear un seeder que ejecuta otros seeders:

class DatabaseSeeder extends Seeder
{
public function run()
{
$this->call([
  UserSeeder::class,
  PostSeeder::class,
]);
}
}