Arreglar SQLSTATE[HY000]: No existe la tabla sessions en Laravel (SQLite/MySQL)
![Arreglar SQLSTATE[HY000]: No existe la tabla sessions en Laravel (SQLite/MySQL)](/static/img/arreglar-sqlstatehy000-no-existe-la-tabla-sessions-en-laravel-sqlitemysql-1758009851641.png)
Si al iniciar un proyecto Laravel ves el error Illuminate.Database.QueryException SQLSTATE[HY000]: General error: 1 no such table: sessions no entres en pánico.
¿Por qué ocurre esto? Laravel guarda las sesiones usando distintos drivers. Las opciones más comunes son file que almacena sesiones en storage/framework/sessions y database que guarda las sesiones en una tabla sessions de la base de datos. Si en tu archivo .env tienes SESSION_DRIVER=database Laravel espera encontrar una tabla sessions. Si la tabla no existe aparecerá el error mencionado.
Solución 1: Arreglo rápido usar sesiones en archivos
Para desarrollo local normalmente no necesitas sesiones en la base de datos. Abre .env y cambia SESSION_DRIVER=file Luego reinicia la aplicación con php artisan serve Opcionalmente ejecuta php artisan config:clear Esto hará que Laravel use archivos para las sesiones y el error desaparecerá.
Solución 2: Arreglo correcto usar sesiones en la base de datos
Si prefieres o necesitas sesiones en la base de datos, indicado en producción, sigue estos pasos:
Paso 1 crear la migración php artisan session:table
Paso 2 ejecutar las migraciones php artisan migrate
Con esto Laravel creará la tabla sessions en tu base de datos y el error quedará resuelto.
Especificaciones para SQLite
Si usas la configuración por defecto con SQLite asegúrate de que .env apunte al fichero de base de datos DB_CONNECTION=sqlite DB_DATABASE=/ruta/absoluta/a/database.sqlite Si el fichero no existe créalo con touch database/database.sqlite y vuelve a ejecutar las migraciones php artisan migrate
Especificaciones para MySQL
Si cambiaste a MySQL en .env configura las variables DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=tu_db DB_USERNAME=tu_usuario DB_PASSWORD=tu_password Si la base de datos no existe créala desde MySQL mysql -u tu_usuario -p -e CREATE DATABASE tu_db; y luego ejecuta php artisan migrate Esto creará la tabla sessions dentro de tu base de datos MySQL.
Consejos prácticos
Para desarrollo local lo más sencillo es usar SESSION_DRIVER=file y ahorrar pasos. Para staging y producción es recomendable usar sesiones en la base de datos o soluciones más escalables como redis según las necesidades de rendimiento y alta disponibilidad.
En Q2BSTUDIO somos expertos en desarrollo de software a medida y aplicaciones a medida, por eso podemos ayudarte a configurar entornos Laravel robustos, seguros y escalables. Si necesitas una solución completa para tu proyecto revisa nuestra página de desarrollo de aplicaciones y software a medida y si quieres incorporar inteligencia avanzada visita nuestra sección de inteligencia artificial para empresas.
Además de software a medida ofrecemos servicios de ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, desarrollo de agentes IA y power bi para dashboards y reporting. Si prefieres, nuestro equipo puede auditar tu configuración actual, automatizar despliegues y aplicar buenas prácticas de seguridad y escalabilidad.
Resumen rápido el error no such table sessions ocurre por usar el driver database sin haber ejecutado las migraciones. Solución rápida para dev usar SESSION_DRIVER=file Solución definitiva ejecutar php artisan session:table && php artisan migrate y ajustar la configuración de base de datos según SQLite o MySQL.
¿Necesitas ayuda con la puesta en marcha, migraciones o con arquitectura cloud y seguridad? Contacta con Q2BSTUDIO y trabajemos juntos en una solución a medida.
Comentarios