Seeders en Laravel
Inserción de datos iniciales o de prueba mediante Seeders en Laravel.
🏭 Factory vs 🌱 Seeder (Esquema conceptual)
🎯 Idea sencilla
- Factory → fabrica datos
- Seeder → inserta datos en la base de datos
🏗 Esquema como “flujo de fabricación”
[ Factory ]
↓
Genera objetos con datos falsos
↓
[ Seeder ]
↓
Inserta esos datos en la tabla
↓
[ Base de Datos ]
🏭 Factory
Factory
Es una clase que define cómo se construyen datos de prueba para un modelo.
No inserta nada en la base de datos.
Solo define qué valores tendrá cada campo.
Ejemplo mental:
- name → nombre aleatorio
- email → email único
- age → número aleatorio
Es como una máquina que fabrica registros.
📁 Ubicación: database/factories/StudentFactory.php
Ejemplo básico:
|
|
🌱 Seeder
Seeder
Es una clase que se encarga de insertar datos en la base de datos.
Puede usar una Factory para generar los datos automáticamente.
Es como la persona que coge lo fabricado y lo planta en la tabla.
📁 Ubicación: database/seeders/StudentSeeder.php
Ejemplo básico:
|
|
🧠 Diferencia clara para alumnos
| Concepto | Qué hace | Inserta en BD |
|---|---|---|
| Factory | Define cómo se crean los datos | ❌ No |
| Seeder | Ejecuta la inserción | ✅ Sí |
🔄 Relación práctica real
Cuando ejecutamos:
|
|
El flujo real es:
Seeder → usa Factory → genera datos → los guarda en la tabla
🎓 Frase clave para recordar
Factory fabrica los datos.
Seeder los siembra en la base de datos.