Configuración SQLite y API productos Laravel
Clase 3 de 33 • Curso Avanzado de Laravel
Contenido del curso
Entorno de trabajo y repaso de Laravel
Manejo de tu base de datos con Laravel
La terminal de Laravel
Eventos y tareas de Laravel
Manejo de errores
El corazón de Laravel
Creación de paquetes
- 26

Cómo crear paquetes Laravel con Composer
08:51 min - 27
Propiedades para manejo de dependencias
02:02 min - 28
Comprende el archivo composer.json
02:23 min - 29

Cómo Composer carga clases automáticamente
04:18 min - 30

Crear mis propios Services Providers
08:58 min - 31

Cómo publicar archivos con Service Provider
04:12 min - 32

Instalando paquetes desde GitHub con Composer
10:35 min - 33

Publicar tu paquete PHP en Packages
03:12 min
Levanta rápido una API de productos en Laravel usando SQLite, migraciones, TDD, Faker, model factories y seeders. Sin servidores extra ni configuraciones complejas: configura la base de datos, genera datos de prueba y valida con tests automatizados. Ideal para un flujo ágil y confiable.
¿Cómo configurar SQLite en Laravel sin servidor?
Configurar una base transaccional liviana con SQLite evita instalar y levantar servicios. Laravel trae el driver listo y se activa con unos ajustes mínimos.
¿Qué cambiar en .env y en config database.php?
- Crear el archivo de base:
database/database.sqlite. - En
.env, ajustar la conexión:DB_CONNECTION=sqlite. - Si existe
DB_DATABASE, borrarla para usar el archivo por defecto. - Confirmar en
config/database.php: el driversqliteusadatabase/database.sqlitesi no hayDB_DATABASE.
¿Cómo ejecutar migraciones con php artisan migrate?
- Bajar el servidor, luego correr migraciones.
php artisan migrate
- Si aparece que la BD no existe: eliminar
DB_DATABASEen.envy repetir el comando. - Ver tablas creadas con el cliente de PHPStorm: Tools > Database, elegir SQLite y abrir
database/database.sqlite. Probar conexión: debe decir que está OK.
¿Cómo generar datos de prueba con Faker, factories y seeders?
Para trabajar la API, se requieren registros confiables y repetibles. Aquí entran Faker, model factories y seeders.
¿Qué hace un model factory con Faker?
- Un factory define cómo generar datos falsos realistas.
- En
database/factories, ajustar el factory de producto: nombre: con Faker, un nombre al azar.precio: un número entre diez mil y sesenta mil.- Resultado: valores aleatorios coherentes para pruebas.
¿Cómo se ejecuta un seeder para poblar la base?
- En
ProductSeeder, usar el factory del modelo para crear N registros ycreatepara insertarlos. - En
DatabaseSeeder, llamar aProductSeederpara centralizar su ejecución. - Poblar la base de datos:
php artisan db seed
- Se puede correr varias veces para generar más productos. Verificar en el cliente de base que se inserten registros aleatorios.
¿Cómo construir y probar la API de productos con TDD?
La técnica TDD guía el desarrollo: primero fallan los tests, luego se implementa lo mínimo para hacerlos pasar. Así se asegura funcionalidad y cobertura desde el inicio.
¿Qué crear con make model y controlador API?
- Al fallar por “no existe la clase producto”, generar el modelo:
php artisan make model product
- Además, incluir controlador de tipo API y todos los artefactos necesarios con la flag de “all”: migración, factory, seeder y controlador.
- En la nueva migración, definir columnas de
productscomonombre(string) yprecio(float); luego migrar para crear la tabla.
¿Cómo funcionan index, store, show, update y destroy?
index: listar todos los productos con Eloquent y retornarlos.store: crear conProduct::create(...)usando los atributos de la petición.show: gracias a la inyección de dependencias, recibe el modelo y lo retorna.update: actualizar el recurso conupdate(...)desde la petición.destroy: eliminar el producto y responder en JSON con 200.- Asignación masiva: en el modelo
Product, declararprotected $guarded = [];para permitir crear/actualizar con cualquier atributo permitido.
¿Cómo declarar rutas y verificar con row list?
- En
routes/api.php, definir una ruta tipo recurso con la URIproductsapuntando al controlador. - Listar rutas registradas:
php artisan row:list
- Tests de integración: crear 5 productos, llamar la ruta y verificar que la cantidad devuelta coincida. Al ejecutar todos, se reportan 5 tests y 10 assertions, lo que confirma la configuración.
Habilidades y conceptos reforzados en este flujo:
- Configuración de SQLite en Laravel sin servidor adicional.
- Manejo de variables de entorno en .env para la conexión de BD.
- Migraciones para versionar esquemas.
- Generación de datos con Faker vía model factories y seeders.
- Diseño de API REST con controlador de recursos.
- Asignación masiva y uso de $guarded.
- Inyección de dependencias en métodos del controlador.
- Pruebas de integración con TDD para endpoints.
- Ruteo de recursos y consulta de rutas con comandos de Artisan.
¿Te animas a replicarlo con un modelo Category? Crea su model, factory, seeder, migration y su endpoint para crear y listar categorías. Cuéntame en comentarios cómo te fue y qué dudas te surgieron.