# ═══════════════════════════════════════════════════════════════════════════════
# DATABASE_INVENTORY.yml - Trading Platform
# ═══════════════════════════════════════════════════════════════════════════════

version: "1.0.1"
fecha_actualizacion: "2026-01-26"
proyecto: "trading-platform"

# ═══════════════════════════════════════════════════════════════════════════════
# RESUMEN
# ═══════════════════════════════════════════════════════════════════════════════

resumen:
  total_schemas: 11
  total_tablas: 78
  total_archivos_ddl: 115
  ubicacion_ddl: "apps/database/ddl/schemas/"
  motor: "PostgreSQL 16"
  features:
    - "Particiones temporales"
    - "UUIDs como PKs"
    - "JSONB para datos flexibles"
    - "Triggers de auditoria"

# ═══════════════════════════════════════════════════════════════════════════════
# SCHEMAS
# ═══════════════════════════════════════════════════════════════════════════════

schemas:

  auth:
    descripcion: "Autenticacion, sesiones, OAuth"
    tablas: 10
    critico: true
    tablas_lista:
      - users
      - user_profiles
      - oauth_accounts
      - sessions
      - email_verifications
      - phone_verifications
      - password_reset_tokens
      - auth_logs
      - login_attempts
      - rate_limiting_config

  trading:
    descripcion: "Orders, trades, signals, bots"
    tablas: 10
    critico: true
    tablas_lista:
      - orders
      - trades
      - positions
      - signals
      - bots
      - watchlists
      - watchlist_items
      - symbols
      - paper_balances
      - trading_metrics

  financial:
    descripcion: "Pagos, wallets, subscriptions"
    tablas: 9
    critico: true
    tablas_lista:
      - payments
      - subscriptions
      - wallets
      - wallet_transactions
      - wallet_audit_log
      - wallet_limits
      - invoices
      - payment_methods
      - customers

  ml:
    descripcion: "Modelos ML, predicciones, backtesting"
    tablas: 10
    critico: true
    tablas_lista:
      - models
      - model_versions
      - predictions
      - prediction_outcomes
      - backtest_runs
      - feature_store
      - llm_predictions
      - llm_decisions
      - llm_prediction_outcomes
      - risk_events

  education:
    descripcion: "Cursos, quizzes, gamificacion, videos"
    tablas: 12
    critico: false
    tablas_lista:
      - courses
      - modules
      - lessons
      - categories
      - enrollments
      - quiz_questions
      - quizzes
      - quiz_attempts
      - user_gamification_profile
      - user_achievements
      - certificates
      - videos

  investment:
    descripcion: "Productos de inversion, cuentas"
    tablas: 6
    critico: false
    tablas_lista:
      - accounts
      - products
      - transactions
      - daily_performance
      - distributions
      - withdrawal_requests

  market_data:
    descripcion: "Datos de mercado OHLCV"
    tablas: 3
    critico: true
    tablas_lista:
      - tickers
      - ohlcv_5m
      - ohlcv_15m

  llm:
    descripcion: "LLM memory, conversaciones"
    tablas: 4
    critico: false
    tablas_lista:
      - conversations
      - messages
      - embeddings
      - user_memory

  audit:
    descripcion: "Auditoria y logs del sistema"
    tablas: 7
    critico: false
    tablas_lista:
      - audit_logs
      - security_events
      - system_events
      - trading_audit
      - api_request_logs
      - data_access_logs
      - compliance_logs

  portfolio:
    descripcion: "Gestion de portafolio"
    tablas: 4
    critico: false
    nota: "Parte integrada con trading/investment"

  system:
    descripcion: "Configuracion del sistema"
    tablas: 3
    critico: false

# ═══════════════════════════════════════════════════════════════════════════════
# CARACTERISTICAS ESPECIALES
# ═══════════════════════════════════════════════════════════════════════════════

caracteristicas:
  particiones:
    - tabla: "auth.auth_logs"
      tipo: "temporal"
      columna: "created_at"

  indices_especiales:
    - "GIN para JSONB"
    - "BTREE para busquedas"
    - "Indices parciales para queries frecuentes"

  constraints:
    - "Foreign keys con ON DELETE CASCADE/SET NULL"
    - "Check constraints para validacion"
    - "Unique constraints compuestos"
