Skip to main content
Esta carpeta organiza el acceso a datos de cada tabla por separado. Crea una subcarpeta por tabla (por ejemplo, producto) y coloca como máximo dos archivos dentro de ella.

Estructura

src/queries

Reglas de separación

Ambos archivos pueden usar @Injectable() de NestJS, Drizzle ORM y la conexión exportada desde @db/connection.db. Convención: para la tabla producto, las clases serían ProductoQuery y ProductoJoinQuery. Los ejemplos de producto y categoria son genéricos: adapta los nombres de campos a tus esquemas reales.

Ejemplo: producto.query.ts (una sola tabla)

Acceso a datos de una sola tabla. Este archivo permite leer, crear, actualizar y eliminar productos, pero no importa ni consulta tablas adicionales.
producto.query.ts
Regla: ninguna función de este archivo debe mencionar otra tabla, ni siquiera en un SELECT. El ejemplo presupone columnas id y eliminadoEn en productos; ajusta los campos a tu definición Drizzle.

Ejemplo: producto-join.query.ts (solo SELECT con JOIN)

Consultas exclusivamente de lectura que combinan la tabla base productos con otras relacionadas. Aquí están permitidos los JOIN, pero no INSERT, UPDATE ni DELETE.
producto-join.query.ts
Regla: este archivo contiene solamente consultas SELECT con relaciones. Los campos categoriaId y nombre son ilustrativos; adáptalos a tus tablas.