Volver a la página principal
lunes 9 diciembre 2024
10

Cómo usar SQLite en Laravel

SQLite es una base de datos embebida que almacena los datos en un archivo. No requiere un servidor dedicado, lo que la hace ideal para entornos de desarrollo o aplicaciones pequeñas. Laravel, como framework PHP, soporta SQLite de forma nativa, lo que simplifica su integración.

Configuración de SQLite en Laravel

1. Crear un archivo de base de datos SQLite

1. Navega al directorio principal de tu proyecto Laravel.

2. Crea una carpeta para almacenar el archivo de base de datos si no existe:

mkdir database

3. Crea un archivo vacío llamado database.sqlite en la carpeta database:

touch database/database.sqlite

2. Configurar SQLite en el archivo .env

Abre el archivo .env en la raíz de tu proyecto y ajusta las siguientes variables:

DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=/ruta/a/tu/proyecto/database/database.sqlite
DB_USERNAME=null
DB_PASSWORD=null

Asegúrate de reemplazar /ruta/a/tu/proyecto/ con la ruta completa a tu proyecto.

Nota: En Laravel, el archivo config/database.php ya incluye soporte para SQLite, por lo que no necesitas modificarlo manualmente.

3. Verificar la conexión a SQLite

Ejecuta el siguiente comando para verificar la conexión:

php artisan migrate

Esto ejecutará las migraciones y creará las tablas necesarias en el archivo database.sqlite. Si no hay errores, la configuración fue exitosa.

Operaciones comunes con SQLite en Laravel

1. Crear una tabla con migraciones

Genera una migración:

php artisan make:migration create_usuarios_table

Edita la migración en el archivo generado (ubicado en database/migrations/):

public function up()
{
    Schema::create('usuarios', function (Blueprint $table) {
        $table->id();
        $table->string('nombre');
        $table->string('email')->unique();
        $table->timestamps();
    });
}

Ejecuta la migración:

php artisan migrate

2. Insertar datos

Usa los seeders para insertar datos iniciales. Genera un seeder:

php artisan make:seeder UsuariosSeeder

Edita el archivo generado en database/seeders/UsuariosSeeder.php:

use Illuminate\Support\Facades\DB;

public function run()
{
    DB::table('usuarios')->insert([
        ['nombre' => 'Juan', 'email' => 'juan@example.com'],
        ['nombre' => 'Ana', 'email' => 'ana@example.com'],
    ]);
}

Ejecuta el seeder:

php artisan db:seed --class=UsuariosSeeder

3. Consultar datos

Usa Eloquent para interactuar con los datos. Crea un modelo:

php artisan make:model Usuario

Consulta los datos en un controlador o tinker:

use App\Models\Usuario;

// Obtener todos los usuarios
$usuarios = Usuario::all();

4. Acceder a la base de datos con Tinker

Ejecuta el comando Tinker:

php artisan tinker

Realiza consultas directamente:

>>> use App\Models\Usuario;
>>> Usuario::all();

Beneficios de usar SQLite en Laravel

  • Ligero y portátil: Ideal para entornos de prueba.
  • Sin servidor: No requiere configuración adicional.
  • Compatibilidad nativa: Laravel soporta SQLite sin necesidad de bibliotecas externas.

Referencias oficiales

Consulta la documentación oficial para más detalles:

Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer