> Faqs > Configurar una base de datos SQLite en Laravel

Configurar una base de datos SQLite en Laravel

Hola. Pretendo usar la base de datos SQLite en Laravel, ya que tengo entendido que no requiere la instalación de ningún software adicional. Entonces, ¿Cómo puedo configurar Laravel para que use una base de datos SQLite?

Respuestas

Configurar un proyecto Laravel para que use SQLite es muy sencillo. Solamente requiere dos pasos:

1.- Ajustar tu .env para definir la conexión con SQLite

La única variable de entorno que requieres es DB_CONNECTION=sqlite

El resto de las variables de entorno de usuario, contraseña, host, las debes de comentar.

DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=

Puedes asegurarte que estos cambios se tienen en cuenta con php artisan config:clear

2.- Crear un archivo database.sqlite en el directorio database.sqlite

Simplemente creas un archivo de texto vacío en la ruta database/database.sqlite de tu aplicación Laravel.

Santiago
571 18 45 21

La base de datos SQLite está instalada de manera predeterminada con PHP, con lo que es cierto que no requiere ningún software adicional para poder funcionar.

En la documentación de Laravel, en la parte de database te explican cómo realizar la configuración de este sistema de bases de datos.

https://laravel.com/docs/5.7/database#configuration 

No obstante, el resumen sería el siguiente:

  • Primero tienes que crear un nuevo archivo para alojar tu base de datos. Es un archivo de texto que tienes que generar en una ruta de tu proyecto, inicialmente vacío. Puedes generar ese archivo con cualquier editor de texto, incluso mediante la línea de comandos. La ruta donde colocar ese archivo depende de ti, pero generalmente el sitio más adecuado sería el directorio database de Laravel. El nombre del archivo es indiferente, pero lo tendrás que recordar, así como la ruta finalmente escogida.
  • Configurar Laravel, en el archivo .env. En este archivo tienes que colocar dos cosas: 1) Que el driver de base de datos es SQLite y 2) el nombre del archivo, con la ruta absoluta en la que se encuentra, donde se almacena la base de datos.

Puede quedarte algo como esto:

DB_CONNECTION=sqlite
DB_DATABASE=/Users/midesweb/sites/sandbox/auth-laravel/database/database.sqlite

Como puedes comprobar, los otros campos de configuración de la base de datos, como DB_USERNAME o DB_PASSWORD no se usan para la configuración de SQLite, por lo que puedes borrarlos si lo deseas.

Con esto está todo listo para que puedas comenzar a usar SQLite dentro de Laravel. Si aún te da problemas, como por ejemplo ves el mensaje Access denied for user homestead@localhost (using password: YES), posiblemente es que no se ha refrescado la configuración de tu archivo .env. Prueba estas dos cosas:

  1. Reinicia apache o tu servidor web
  2. Lanza el proceso de limpiado de caché de la configuración con
php artisan config:clear
Miguel Angel
3295 146 215 17