miinventario-v2/orchestration/trazas/TRAZA-TAREAS-DATABASE.md
rckrdmrd 1a53b5c4d3 [MIINVENTARIO] feat: Initial commit - Sistema de inventario con análisis de video IA
- Backend NestJS con módulos de autenticación, inventario, créditos
- Frontend React con dashboard y componentes UI
- Base de datos PostgreSQL con migraciones
- Tests E2E configurados
- Configuración de Docker y deployment

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 02:25:48 -06:00

317 lines
7.0 KiB
Markdown

# TRAZA DE TAREAS - DATABASE
**Proyecto:** MiInventario
**Capa:** Database (PostgreSQL + TypeORM)
**Actualizado:** 2026-01-10
**Version:** 2.0.0
---
## RESUMEN
| Metrica | Valor |
|---------|-------|
| Tareas totales | 10 |
| Completadas | 10 |
| En progreso | 0 |
| Pendientes | 0 |
| Progreso | 100% |
---
## NOTA IMPORTANTE
El proyecto usa **TypeORM** con migraciones en lugar de archivos DDL separados.
La base de datos utiliza un **schema unico (public)** en lugar de schemas separados.
---
## HISTORIAL DE TAREAS
### [2026-01-10] MII-DB-001
**Estado:** completado
**Agente:** Agente Implementador
**Fecha Completado:** 2026-01-10
#### Descripcion
Configurar conexion y extensiones de base de datos.
#### Archivos Creados
- `src/config/database.config.ts`
- `src/config/typeorm.config.ts`
#### Extensiones Habilitadas
- uuid-ossp (UUIDs)
#### Resultado
TypeORM configurado con PostgreSQL 15.
---
### [2026-01-10] MII-DB-002
**Estado:** completado
**Agente:** Agente Implementador
**Fecha Completado:** 2026-01-10
#### Descripcion
Tablas de autenticacion (equivalente a schema auth).
#### Tablas Creadas
- `users` - Usuarios del sistema
- `otps` - Codigos OTP para verificacion
- `refresh_tokens` - Tokens de refresco JWT
#### ENUMs Creados
- `users_role_enum` (USER, ADMIN)
- `otps_purpose_enum` (REGISTRATION, LOGIN, PASSWORD_RESET)
#### Resultado
Sistema de autenticacion con OTP y tokens.
---
### [2026-01-10] MII-DB-003
**Estado:** completado
**Agente:** Agente Implementador
**Fecha Completado:** 2026-01-10
#### Descripcion
Tablas de tenants/tiendas (equivalente a schema public).
#### Tablas Creadas
- `stores` - Tiendas de usuarios
- `store_users` - Relacion usuarios-tiendas
#### ENUMs Creados
- `store_users_role_enum` (OWNER, OPERATOR)
#### Resultado
Sistema multi-tenant con roles.
---
### [2026-01-10] MII-DB-004
**Estado:** completado
**Agente:** Agente Implementador
**Fecha Completado:** 2026-01-10
#### Descripcion
Tablas de inventario y videos (equivalente a schema inventory).
#### Tablas Creadas
- `videos` - Videos subidos para procesamiento
- `inventory_items` - Items de inventario detectados
#### ENUMs Creados
- `videos_status_enum` (PENDING, UPLOADING, UPLOADED, PROCESSING, COMPLETED, FAILED)
#### Indices Creados
- `inventory_items(storeId, name)`
- `inventory_items(storeId, category)`
- `inventory_items(storeId, barcode)`
#### Resultado
Sistema de videos e inventario con indices optimizados.
---
### [2026-01-10] MII-DB-005
**Estado:** completado
**Agente:** Agente Implementador
**Fecha Completado:** 2026-01-10
#### Descripcion
Tablas de creditos (equivalente a schema wallet).
#### Tablas Creadas
- `credit_balances` - Saldos de creditos por usuario
- `credit_packages` - Paquetes de creditos disponibles
- `credit_transactions` - Transacciones de creditos
#### ENUMs Creados
- `credit_transactions_type_enum` (PURCHASE, CONSUMPTION, REFERRAL_BONUS, PROMO, REFUND)
#### Indices Creados
- `credit_transactions(userId, createdAt)`
- `credit_transactions(type, createdAt)`
#### Resultado
Sistema de creditos con balance, paquetes y transacciones.
---
### [2026-01-10] MII-DB-006
**Estado:** completado
**Agente:** Agente Implementador
**Fecha Completado:** 2026-01-10
#### Descripcion
Tabla de pagos (equivalente a schema payments).
#### Tablas Creadas
- `payments` - Pagos de usuarios
#### ENUMs Creados
- `payments_method_enum` (CARD, OXXO, 7ELEVEN)
- `payments_status_enum` (PENDING, PROCESSING, COMPLETED, FAILED, REFUNDED, EXPIRED)
#### Indices Creados
- `payments(userId, createdAt)`
- `payments(status, createdAt)`
- `payments(externalId)`
#### Resultado
Sistema de pagos multi-metodo.
---
### [2026-01-10] MII-DB-007
**Estado:** completado
**Agente:** Agente Implementador
**Fecha Completado:** 2026-01-10
#### Descripcion
Tabla de referidos (equivalente a schema referrals).
#### Tablas Creadas
- `referrals` - Sistema de referidos
#### ENUMs Creados
- `referrals_status_enum` (PENDING, REGISTERED, QUALIFIED, REWARDED)
#### Indices Creados
- `referrals(referrerId)`
- `referrals(referredId)`
- `referrals(referralCode)`
#### Resultado
Sistema de referidos con bonos bidireccionales.
---
### [2026-01-10] MII-DB-008
**Estado:** completado
**Agente:** Agente Implementador
**Fecha Completado:** 2026-01-10
#### Descripcion
Tabla de notificaciones.
#### Tablas Creadas
- `notifications` - Notificaciones de usuarios
#### ENUMs Creados
- `notifications_type_enum` (VIDEO_PROCESSING_COMPLETE, VIDEO_PROCESSING_FAILED, LOW_CREDITS, PAYMENT_COMPLETE, PAYMENT_FAILED, REFERRAL_BONUS, PROMO, SYSTEM)
#### Indices Creados
- `notifications(userId, isRead)`
- `notifications(userId, createdAt)`
#### Resultado
Sistema de notificaciones con tipos y estados.
---
### [2026-01-10] MII-DB-009
**Estado:** completado
**Agente:** Agente Implementador
**Fecha Completado:** 2026-01-10
#### Descripcion
Migracion consolidada TypeORM.
#### Archivos Creados
- `src/migrations/1768099560565-Init.ts`
#### Contenido de la Migracion
- 13 tablas creadas
- 10 ENUMs definidos
- 17 indices configurados
- 13 foreign keys establecidos
#### Resultado
Migracion ejecutada exitosamente.
---
### [2026-01-10] MII-DB-010
**Estado:** completado
**Agente:** Agente Implementador
**Fecha Completado:** 2026-01-10
#### Descripcion
Seeds iniciales.
#### Archivos Creados
- `src/database/seed.ts`
#### Datos Sembrados
- credit_packages: 4 paquetes
- Basico: 50 creditos / $50 MXN
- Popular: 120 creditos / $100 MXN
- Premium: 300 creditos / $200 MXN
- Empresarial: 750 creditos / $500 MXN
#### Resultado
Paquetes de creditos disponibles.
---
## RESUMEN DE BASE DE DATOS
### Tablas (13)
| Tabla | Descripcion |
|-------|-------------|
| users | Usuarios del sistema |
| otps | Codigos OTP |
| refresh_tokens | Tokens de refresco |
| stores | Tiendas |
| store_users | Relacion usuarios-tiendas |
| videos | Videos subidos |
| inventory_items | Items de inventario |
| credit_balances | Saldos de creditos |
| credit_packages | Paquetes de creditos |
| credit_transactions | Transacciones |
| payments | Pagos |
| referrals | Referidos |
| notifications | Notificaciones |
### ENUMs (10)
| ENUM | Valores |
|------|---------|
| users_role_enum | USER, ADMIN |
| otps_purpose_enum | REGISTRATION, LOGIN, PASSWORD_RESET |
| store_users_role_enum | OWNER, OPERATOR |
| videos_status_enum | PENDING, UPLOADING, UPLOADED, PROCESSING, COMPLETED, FAILED |
| credit_transactions_type_enum | PURCHASE, CONSUMPTION, REFERRAL_BONUS, PROMO, REFUND |
| payments_method_enum | CARD, OXXO, 7ELEVEN |
| payments_status_enum | PENDING, PROCESSING, COMPLETED, FAILED, REFUNDED, EXPIRED |
| referrals_status_enum | PENDING, REGISTERED, QUALIFIED, REWARDED |
| notifications_type_enum | 8 tipos diferentes |
### Indices (17)
Indices optimizados para consultas frecuentes en todas las tablas principales.
### Foreign Keys (13)
Relaciones entre tablas con integridad referencial.
---
## CONEXION
| Parametro | Valor |
|-----------|-------|
| Host | localhost |
| Puerto | 5433 |
| Nombre | miinventario_dev |
| Usuario | postgres |
| ORM | TypeORM |
---
**Ultima Actualizacion:** 2026-01-10