Iniciamos con la lógica de creación de categorías utilizando SQLite. La clave es importar los modelos correctos desde nuestra librería interna y usar métodos asíncronos para gestionar las operaciones de base de datos.
// Importamos los modelos desde la librería SQLiteconst{ models }=require('libs/sqlite-lib');// Función para crear una nueva categoríaasyncfunctioncreateCategory(data){const newCategory =await models.Category.create(data);return newCategory;}
Este simple fragmento de código permite la creación de una categoría y asegura que todas las validaciones en el esquema se cumplen, requiriendo un nombre y una imagen para completarse exitosamente.
¿Cómo crear un producto y manejar relaciones uno a muchos?
Para gestionar la creación de productos y establecer las relaciones de uno a muchos, primero integramos nuestro modelo de productos.
// Lógica para crear nuevos productos y establecer relacionesconst{ models }=require('libs/sqlite-lib');asyncfunctioncreateProduct(data){const newProduct =await models.Product.create(data);return newProduct;}
¿Qué ajustes son necesarios en el esquema?
El esquema del producto debe incluir una referencia al ID de la categoría para establecer la relación. Aquí es donde especificamos que un producto debe pertenecer a una categoría en específico.
const productSchema ={name:'string',price:'integer',description:'string',categoryId:'integer',// Hace referencia a la categoría};
¿Cómo consultar productos y categorías con asociaciones?
Una parte vital es consultar los elementos con sus asociaciones correctas. Para ello, hacemos uso de los métodos de búsqueda incorporados:
¿Cuál es el proceso para consultar y obtener un resumen detallado?
Consulta general de productos: Devuelve productos con sus categorías gracias a la inclusión de asociaciones.
Consulta general de categorías: Devuelve solo categorías, sin detalles adicionales de productos, para operaciones ligeras.
Detalle de categoría específica: Cuando se necesita el desglose de un producto, se efectúa una búsqueda más profunda que incluye todos sus productos usando includes: products.
Con estos pasos, es posible gestionar múltiples relaciones uno a muchos, permitiendo crear un flujo de datos más eficiente y coherente dentro de una aplicación en desarrollo. Mantente atento para aprender a manejar relaciones más complejas como son las de muchos a muchos.