S42-Core SQLite Clase
- Documentación de la Clase SQLite
Documentación de la Clase SQLite
La clase SQLite
es parte del paquete s42-core
y proporciona una interfaz completa y eficiente para interactuar con bases de datos SQLite. Admite operaciones comunes como crear, actualizar, consultar y eliminar datos, así como funciones avanzadas como administración de esquemas, indexación y traducción de consultas al estilo MongoDB.
Características Clave
- Flexibilidad: Soporte para bases de datos SQLite en memoria y basadas en archivos.
- Operaciones CRUD: Métodos simplificados para operaciones
INSERT
,SELECT
,UPDATE
yDELETE
. - Gestión de Esquemas: Crear, eliminar y modificar tablas dinámicamente.
- Soporte para Paginación: Opciones integradas de
LIMIT
yOFFSET
para un manejo eficiente de consultas. - Indexación: Crear índices para optimizar el rendimiento de las consultas.
- Acceso a Metadatos: Recuperar una lista de todas las tablas y sus esquemas.
- Consultas al Estilo MongoDB: Traducción de consultas tipo MongoDB a SQL para una integración fluida.
- Manejo de Errores: Validaciones integradas y mensajes de error descriptivos para garantizar la fiabilidad.
Instalación
Para usar la clase SQLite
, instala el paquete s42-core
:
npm install s42-core
Ejemplos de Uso
Inicialización
import { SQLite } from 's42-core';
// Crear una base de datos en memoriaconst sqlite = new SQLite({ type: 'memory' });
// Crear una base de datos basada en archivoconst sqliteFile = new SQLite({ type: 'file', filename: 'data.db' });
Creación y Gestión de Tablas
Crear una Tabla
await sqlite.createTable('users', { id: 'INTEGER PRIMARY KEY AUTOINCREMENT', name: 'TEXT', age: 'INTEGER',});
Eliminar una Tabla
await sqlite.dropTable('users');
Agregar Columnas a una Tabla Existente
await sqlite.addTableColumns('users', { email: 'TEXT', isActive: 'BOOLEAN',});
Operaciones CRUD
Insertar Datos
await sqlite.insert('users', { name: 'John Doe', age: 30 });
Consultar Datos
const users = await sqlite.select('users', ['id', 'name'], { age: { $gte: 18 } }, { name: 1 }, 10, 0);console.log(users);
Actualizar Datos
await sqlite.update('users', { id: 1 }, { name: 'Jane Doe', age: 28 });
Eliminar Datos
await sqlite.delete('users', { age: { $lt: 18 } });
Indexación
Crear un Índice
await sqlite.createIndex('users', 'name');
Acceso a Metadatos
Obtener Todas las Tablas
const tables = await sqlite.getAllTables();console.log(tables);
Obtener el Esquema de una Tabla
const schema = await sqlite.getTableSchema('users');console.log(schema);
Ventajas de Usar la Clase SQLite
- Facilidad de Uso: Simplifica operaciones complejas de SQLite en una API limpia e intuitiva.
- Integración Perfecta: La traducción de consultas al estilo MongoDB permite una integración fluida con aplicaciones que utilizan esta sintaxis.
- Optimización del Rendimiento: Características como indexación y paginación garantizan un manejo eficiente de los datos.
- Gestión Dinámica de Esquemas: Modifique tablas fácilmente sin necesidad de SQL manual.
- Resiliencia a Errores: Validaciones y mensajes de error detallados ayudan a prevenir y depurar problemas.
- Extensibilidad: Diseñada con flexibilidad para soportar funciones adicionales como transacciones y operaciones por lotes.
- Construcción Dinámica de Consultas: Cree consultas de manera flexible con filtros, ordenamientos y límites.
Manejo de Errores
La clase incluye un manejo robusto de errores:
- Asegura que los nombres de tablas y columnas sean válidos.
- Lanza errores descriptivos cuando las operaciones fallan.
- Registra errores para facilitar la depuración.
Licencia
Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.