Comprehensive analysis of 101 DDL tables across 11 schemas: - Phase 1-2: Schema validation, 37 gaps cataloged (3 resolved) - Phase 3: Integrity audit (80 FKs, 89 CHECKs, 17 issues: 2 CRIT/5 HIGH) - Phase 4: DDL-Backend mapping (84% interfaces, 75% services, 61% controllers) - Phase 5: Documentation purge catalog (201 files analyzed) - Phase 6: Remediation plan (4 sprints, 204h) Key finding: Backend uses raw SQL + pg Pool (NOT TypeORM). 13 deliverables + updated inventories to v2.0.0. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.6 KiB
2.6 KiB
SA-05: Reporte de Validacion de Enums y Migraciones
Subagente: SA-05 (Verificacion archivos de migracion de enums) Fecha: 2026-02-05 Estado: COMPLETADO
Resumen
3 conflictos de enums analizados. 2 archivos de migracion existen pero son solo documentacion (SQL comentado). El tipo unificado public.trading_timeframe ya fue creado pero las tablas NO han sido migradas.
Archivos de Migracion
| Archivo | Existe | Ejecutado |
|---|---|---|
migrations/2026-02-03_rename_transaction_type_enums.sql |
Si | NO (solo plan documentado) |
migrations/2026-02-03_unify_timeframe_enum.sql |
Si | PARCIAL (tipo creado, tablas no migradas) |
Estado de Conflictos
CONF-001: transaction_type (financial vs investment)
- Severidad: ALTA - Colision de nombres con valores diferentes
- financial.transaction_type: 9 valores (deposit, withdrawal, transfer_in, transfer_out, fee, refund, earning, distribution, bonus)
- investment.transaction_type: 3 valores (deposit, withdrawal, distribution)
- Recomendacion: Opcion B (no-breaking) - Mantener separados con calificacion de schema estricta
- Accion: Documentar distincion, enforcement en backend
DUP-001: timeframe (trading vs market_data)
- Severidad: MEDIA -
public.trading_timeframeya existe con 9 valores - trading.timeframe: Usado en bots, signals, drawing_tools
- market_data.timeframe: Existe pero no se usa activamente en tablas
- Recomendacion: Migrar columnas a
public.trading_timeframe(no-breaking, valores compatibles) - Accion: Ejecutar migracion de columnas, DROP tipos viejos
DUP-002: risk_profile (investment vs portfolio)
- Severidad: BAJA - Valores identicos (conservative, moderate, aggressive)
- Sin documentacion ni migracion
- Recomendacion: Crear
public.risk_profileoportunistamente
Tablas Afectadas por Migracion
| Tabla | Columna | Enum Actual | Enum Target |
|---|---|---|---|
| trading.bots | timeframe | trading.timeframe | public.trading_timeframe |
| trading.signals | timeframe | trading.timeframe | public.trading_timeframe |
| trading.drawing_tools | timeframe | trading.timeframe | public.trading_timeframe |
| financial.wallet_transactions | transaction_type | financial.transaction_type | MANTENER |
| investment.transactions | transaction_type | investment.transaction_type | MANTENER |
| investment.products | risk_profile | investment.risk_profile | EVALUAR |
| portfolio.portfolios | risk_profile | portfolio.risk_profile | EVALUAR |
Generado por subagente SA-05 - TASK-2026-02-05-ANALISIS-VALIDACION-MODELADO-BD