Laravel y los principales comandos de Artisan
Qué es Artisan en Laravel y cuáles son los comandos más útiles para crear archivos, ejecutar migraciones, depurar, optimizar y trabajar más rápido.
Si trabajas con Laravel, tarde o temprano terminas pasando bastante tiempo en la terminal. Y ahí es donde Artisan se vuelve una de las herramientas más útiles del framework.
Artisan es la interfaz de línea de comandos que viene incluida con Laravel. Sirve para automatizar tareas comunes como crear archivos, ejecutar migraciones, inspeccionar rutas, limpiar cachés o correr pruebas. En vez de hacer muchas cosas a mano, Artisan te da comandos listos para avanzar más rápido y con menos fricción.
Tomando como referencia la documentación oficial de Laravel y una guía práctica de Hostinger, aquí va un repaso de los comandos de Artisan que más sentido tienen en el día a día.
¿Qué es Artisan?
Artisan vive en la raíz de tu proyecto Laravel como el archivo artisan. Desde ahí puedes ejecutar comandos con esta estructura:
php artisan nombre-del-comando
Si quieres ver todo lo disponible:
php artisan list
Y si quieres ayuda puntual de un comando:
php artisan help migrate
Ese par de comandos ya te da una idea de cómo se usa Artisan: primero exploras, luego ejecutas solo lo que necesitas.
1. php artisan serve
Uno de los primeros comandos que casi siempre usas.
php artisan serve
Levanta un servidor local para desarrollo, normalmente en http://127.0.0.1:8000.
También puedes definir host y puerto:
php artisan serve --host=127.0.0.1 --port=8080
Es muy útil cuando quieres arrancar un proyecto rápido sin configurar un servidor web adicional.
2. php artisan make:model
Genera un modelo de Eloquent.
php artisan make:model Post
Y si quieres crear varias piezas relacionadas al mismo tiempo:
php artisan make:model Post -mcr
Ese atajo puede crear:
- modelo
- migración
- controlador
- resource controller
Es una forma muy cómoda de empezar una entidad nueva sin ir archivo por archivo.
3. php artisan make:controller
Crea un controlador nuevo:
php artisan make:controller PostController
Si quieres uno orientado a recursos:
php artisan make:controller PostController --resource
Esto te prepara métodos típicos como index, create, store, show, edit, update y destroy.
4. php artisan make:migration
Las migraciones son parte del flujo normal de base de datos en Laravel.
php artisan make:migration create_posts_table
Con eso generas un archivo en database/migrations para definir cambios en el esquema.
Este comando se usa muchísimo cuando agregas tablas nuevas o modificas columnas existentes.
5. php artisan migrate
Ejecuta las migraciones pendientes:
php artisan migrate
Es uno de los comandos más importantes porque aplica en la base de datos los cambios que definiste en los archivos de migración.
También hay variantes útiles:
php artisan migrate:rollback
php artisan migrate:fresh
rollbackrevierte el último lote de migracionesfreshborra todas las tablas y vuelve a correr todo desde cero
Este último es muy útil en desarrollo, pero hay que usarlo con cuidado porque destruye la base actual.
6. php artisan db:seed
Si necesitas poblar la base con datos de prueba:
php artisan db:seed
Y si quieres ejecutar un seeder específico:
php artisan db:seed --class=UserSeeder
Es muy útil para entornos de desarrollo, demos o testing local.
7. php artisan route:list
Uno de mis favoritos cuando quiero revisar rápido qué rutas existen en el proyecto.
php artisan route:list
Te muestra:
- método HTTP
- URI
- nombre de la ruta
- controlador o acción asociada
Cuando una ruta “no está entrando” como esperas, este comando ayuda muchísimo.
8. php artisan tinker
Laravel incluye Tinker como REPL para interactuar con la aplicación desde terminal.
php artisan tinker
Dentro de Tinker puedes probar consultas, instanciar modelos, verificar relaciones o hacer pequeñas pruebas sin tocar una ruta o un controlador.
Ejemplo:
App\Models\User::first();
Es perfecto para inspección rápida o debugging liviano.
9. php artisan test
Para correr pruebas:
php artisan test
Este comando ejecuta los tests del proyecto usando PHPUnit o Pest, según tu configuración.
Cuando quieres validar cambios antes de hacer commit o de desplegar, este es uno de los comandos que más valor aporta.
10. php artisan make:command
Si quieres crear tus propios comandos de consola:
php artisan make:command SendEmails
Laravel generará una clase de comando dentro de app/Console/Commands.
Esto es muy útil cuando tienes procesos repetitivos o tareas internas que quieres ejecutar desde CLI, por ejemplo:
- sincronizaciones
- importaciones
- limpieza de datos
- reportes
11. Comandos de caché
Laravel usa caché en varias partes del framework, y a veces eso explica por qué un cambio “no se refleja”.
Los más importantes son:
php artisan cache:clear
php artisan config:clear
php artisan config:cache
php artisan route:clear
php artisan route:cache
php artisan view:clear
php artisan view:cache
php artisan optimize
Cuándo usar cada uno
cache:clear-> limpia la caché general de la aplicaciónconfig:clear-> limpia la caché de configuraciónconfig:cache-> recompila la configuración para producciónroute:clear-> limpia caché de rutasroute:cache-> cachea rutas para mejorar rendimientoview:clear-> borra vistas compiladasview:cache-> precompila vistas Bladeoptimize-> agrupa varias optimizaciones comunes
En desarrollo, los comandos de clear suelen salvar bastante cuando cambias .env, rutas o vistas y el framework parece “ignorar” lo nuevo.
12. php artisan storage:link
Si trabajas con archivos subidos por usuarios:
php artisan storage:link
Este comando crea el enlace simbólico entre storage/app/public y public/storage, de modo que los archivos puedan ser accesibles desde el navegador.
Es uno de esos comandos pequeños que a veces se olvidan, pero sin él muchas imágenes o documentos no aparecen.
13. php artisan down y php artisan up
Para mantenimiento:
php artisan down
php artisan up
down pone la aplicación en modo mantenimiento y up la vuelve a habilitar.
Son muy útiles cuando necesitas hacer cambios delicados o despliegues donde prefieres bloquear temporalmente el acceso.
Una forma práctica de pensar Artisan
Yo lo dividiría en cinco grupos:
- Inspección:
list,help,route:list,tinker - Scaffolding:
make:model,make:controller,make:migration,make:command - Base de datos:
migrate,rollback,fresh,db:seed - Mantenimiento:
cache:clear,config:clear,route:clear,view:clear - Ejecución:
serve,test,down,up
Visto así, Artisan deja de sentirse como “una lista enorme de comandos” y se vuelve más fácil de memorizar.
En resumen
Artisan es una de las razones por las que Laravel se siente tan cómodo para desarrollar. No solo te ahorra tiempo: también te ayuda a mantener un flujo más ordenado y consistente.
Si estás empezando con Laravel, yo priorizaría aprender bien estos comandos:
servemake:modelmake:controllermake:migrationmigrateroute:listtinkertest- los comandos de
clearycache
Con eso ya cubres una parte muy grande del trabajo diario en proyectos reales.