trading-platform-database-v2/schemas/_MAP.md
rckrdmrd 45e77e9a9c feat: Initial commit - Database schemas and scripts
DDL schemas for Trading Platform:
- User management
- Authentication
- Payments
- Education
- ML predictions
- Trading data

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 04:30:23 -06:00

12 KiB

id title type status project version created_date updated_date author
MAP-database-schemas Mapa de Schemas de Base de Datos Index Activo trading-platform 2.0.0 2025-12-06 2026-01-07 Claude-Orquestador

_MAP - Database Schemas

Índice de navegación para los esquemas de base de datos

ACTUALIZADO: 2026-01-07 - market_data schema + 6 activos + ML tables Política: Carga Limpia (DDL-First) - Ver DIRECTIVA-POLITICA-CARGA-LIMPIA.md Total: 77 tablas, 104 FK, 9 schemas


Estructura de Archivos

apps/database/
├── ddl/
│   └── schemas/
│       ├── auth/           # 12 tablas - Autenticación y usuarios
│       ├── education/      # 14 tablas - Plataforma educativa
│       ├── trading/        # 10 tablas - Trading y Paper Engine
│       ├── investment/     # 7 tablas  - Cuentas PAMM
│       ├── financial/      # 10 tablas - Pagos, wallets unificadas
│       ├── ml/             # 9 tablas  - Machine Learning
│       ├── llm/            # 4 tablas  - LLM Agent (+ pgvector)
│       ├── audit/          # 7 tablas  - Auditoría y compliance
│       └── market_data/    # 4 tablas  - **NUEVO** Datos OHLCV
├── seeds/
│   └── prod/               # Seeds de producción
└── scripts/
    ├── create-database.sh
    ├── drop-and-recreate-database.sh
    └── migrate_6_assets.sh   # **NUEVO** Migración MySQL→PostgreSQL

Resumen de Schemas

Schema Propósito Tablas Funciones Estado
auth Autenticación y usuarios 12 4 Completado
education Plataforma educativa 14 8 Completado
trading Trading y Paper Engine 10 4 Completado
investment Cuentas PAMM 7 - Completado
financial Wallets unificadas, pagos 10 4 Completado
ml Machine Learning signals 9 1 Completado
llm LLM Agent, RAG 4 - ⚠️ Requiere pgvector
audit Logs, compliance 7 - Completado
market_data Datos OHLCV 5m/15m 4 2 NUEVO

Total: 77 tablas, 104 FK


Detalle por Schema

auth (12 tablas)

Tabla Archivo Descripción
users 01-users.sql Usuarios base del sistema
user_profiles 02-user_profiles.sql Información extendida
oauth_accounts 03-oauth_accounts.sql Cuentas OAuth (Google, GitHub)
sessions 04-sessions.sql Sesiones activas
email_verifications 05-email_verifications.sql Verificación de email
phone_verifications 06-phone_verifications.sql Verificación de teléfono
password_reset_tokens 07-password_reset_tokens.sql Tokens de reset
auth_logs 08-auth_logs.sql Log de autenticación
login_attempts 09-login_attempts.sql Control de intentos
rate_limiting_config 10-rate_limiting_config.sql Configuración rate limit
deferred_constraints 99-deferred-constraints.sql NUEVO - FK diferidas

Funciones: update_updated_at, log_auth_event, cleanup_expired_sessions, create_user_profile_trigger

market_data (4 tablas) NUEVO

Tabla Archivo Descripción
tickers 01-tickers.sql Catálogo de 6 activos (XAUUSD, EURUSD, BTCUSD, GBPUSD, USDJPY, AUDUSD)
ohlcv_5m 02-ohlcv_5m.sql Datos OHLCV 5 minutos (~4M registros)
ohlcv_15m 03-ohlcv_15m.sql Datos OHLCV 15 minutos (~1.3M registros)
ohlcv_5m_staging 04-staging.sql Tabla staging para carga masiva

Funciones: aggregate_5m_to_15m, aggregate_all_15m

Datos cargados:

Activo Registros 5m Registros 15m Cobertura
XAUUSD 706,397 234,961 2015-2025
EURUSD 755,896 251,839 2015-2025
BTCUSD 360,288 119,907 2015-2025
GBPUSD 752,281 250,430 2015-2025
USDJPY 746,464 248,520 2015-2025
AUDUSD 760,289 253,380 2015-2025

ml (9 tablas)

Tabla Archivo Descripción
models 01-models.sql Registro de modelos ML
model_versions 02-model_versions.sql Versionado de modelos
predictions 03-predictions.sql Predicciones generadas
prediction_outcomes 04-prediction_outcomes.sql Resultados de predicciones
feature_store 05-feature_store.sql Features pre-calculadas
llm_predictions 06-llm_predictions.sql NUEVO - Predicciones LLM
llm_prediction_outcomes 07-llm_prediction_outcomes.sql NUEVO - Resultados LLM
llm_decisions 08-llm_decisions.sql NUEVO - Decisiones LLM
risk_events 09-risk_events.sql NUEVO - Eventos de riesgo

Funciones: calculate_prediction_accuracy

education (14 tablas)

Tabla Archivo Descripción
categories 01-categories.sql Categorías de cursos
courses 02-courses.sql Cursos de trading
modules 03-modules.sql Módulos de cursos
lessons 04-lessons.sql Lecciones individuales
enrollments 05-enrollments.sql Inscripciones
progress 06-progress.sql Progreso por lección
quizzes 07-quizzes.sql Cuestionarios
quiz_questions 08-quiz_questions.sql Preguntas de quiz
quiz_attempts 09-quiz_attempts.sql Intentos de quiz
certificates 10-certificates.sql Certificados emitidos
user_achievements 11-user_achievements.sql Logros de usuarios
user_gamification_profile 12-user_gamification_profile.sql Perfil gamificación
user_activity_log 13-user_activity_log.sql Log de actividad
course_reviews 14-course_reviews.sql Reseñas de cursos

Funciones: update_updated_at, update_enrollment_progress, auto_complete_enrollment, generate_certificate, update_course_stats, update_enrollment_count, update_gamification_profile, views

trading (10 tablas)

Tabla Archivo Descripción
symbols 01-symbols.sql Instrumentos financieros
watchlists 02-watchlists.sql Listas de seguimiento
watchlist_items 03-watchlist_items.sql Items en watchlists
bots 04-bots.sql Agentes de trading (Atlas, Orion, Nova)
orders 05-orders.sql Órdenes de trading
positions 06-positions.sql Posiciones abiertas/cerradas
trades 07-trades.sql Historial de trades
signals 08-signals.sql Señales generadas (interfaz ML)
trading_metrics 09-trading_metrics.sql Métricas de rendimiento
paper_balances 10-paper_balances.sql Balances paper trading

Funciones: calculate_position_pnl, update_bot_stats, initialize_paper_balance, create_default_watchlist

investment (7 tablas)

Tabla Archivo Descripción
products 01-products.sql Productos PAMM
risk_questionnaire 02-risk_questionnaire.sql Cuestionario de riesgo
accounts 03-accounts.sql Cuentas de inversión
distributions 04-distributions.sql Distribución de ganancias (80/20)
transactions 05-transactions.sql Movimientos de cuenta
withdrawal_requests 06-withdrawal_requests.sql Solicitudes de retiro
daily_performance 07-daily_performance.sql Rendimiento diario

financial (10 tablas)

Tabla Archivo Descripción
wallets 01-wallets.sql Wallets del sistema (unificado)
wallet_transactions 02-wallet_transactions.sql Transacciones de wallet
subscriptions 03-subscriptions.sql Suscripciones activas
invoices 04-invoices.sql Facturas
payments 05-payments.sql Pagos procesados (Stripe)
wallet_audit_log 06-wallet_audit_log.sql Auditoría de wallets
currency_exchange_rates 07-currency_exchange_rates.sql Tipos de cambio USD/MXN
wallet_limits 08-wallet_limits.sql Límites de operación
customers 09-customers.sql Clientes Stripe
payment_methods 10-payment_methods.sql Métodos de pago

Funciones: update_wallet_balance, process_transaction, triggers, views

llm (4 tablas + extension)

Tabla Archivo Descripción
(extension) 00-extensions.sql pgvector extension para embeddings
conversations 01-conversations.sql Conversaciones con LLM
messages 02-messages.sql Mensajes de conversación
user_preferences 03-user_preferences.sql Preferencias de usuario
user_memory 04-user_memory.sql Memoria persistente

Nota: La tabla embeddings (05-embeddings.sql) requiere pgvector. Sin pgvector instalado, esta tabla no se crea.

audit (7 tablas)

Tabla Archivo Descripción
audit_logs 01-audit_logs.sql Log general de auditoría
security_events 02-security_events.sql Eventos de seguridad
system_events 03-system_events.sql Eventos del sistema
trading_audit 04-trading_audit.sql Auditoría de trading
api_request_logs 05-api_request_logs.sql Logs de API
data_access_logs 06-data_access_logs.sql Acceso a datos sensibles (GDPR)
compliance_logs 07-compliance_logs.sql Cumplimiento regulatorio

Orden de Ejecución (create-database.sh)

1. CREATE DATABASE trading_platform
2. Extensions (uuid-ossp, pgcrypto, pg_trgm, btree_gin)
   - pgvector opcional (requiere instalación)
3. Schemas:
   - auth, education, financial, trading, investment,
   - ml, llm, audit, market_data
4. DDL por schema en orden:
   - auth        (sin dependencias)
   - education   (depende de auth)
   - financial   (depende de auth)
   - trading     (depende de auth)
   - investment  (depende de auth, trading)
   - ml          (depende de auth, trading)
   - llm         (depende de auth)
   - audit       (depende de auth)
   - market_data (sin dependencias)
5. Seeds (prod o dev)
6. Validación

Comandos de Uso

# Crear base de datos nueva
./scripts/create-database.sh

# Eliminar y recrear (desarrollo)
./scripts/drop-and-recreate-database.sh

# Solo cargar seeds
./scripts/create-database.sh --seeds-only --env dev

# Migrar datos de MySQL (6 activos, 10 años)
./scripts/migrate_6_assets.sh

Scripts Disponibles

Script Descripción
create-database.sh Crea BD con DDL y seeds
drop-and-recreate-database.sh Drop + create (desarrollo)
migrate_6_assets.sh NUEVO - Migra OHLCV desde MySQL
migrate_all_tickers.sh Migra todos los tickers (17+)
validate-ddl.sh Valida sintaxis de DDL

Notas Importantes

  • TIMESTAMPTZ: Todas las columnas de fecha usan timezone
  • gen_random_uuid(): Para generación de UUIDs
  • Locale fallback: Script maneja locales faltantes (WSL2)
  • pgvector opcional: llm.embeddings requiere pgvector instalado
  • Datos de mercado: 10 años de datos OHLCV (2015-2025)

Changelog

Fecha Versión Cambios
2026-01-07 2.0.0 market_data schema, 6 activos, tablas ML extendidas
2025-12-06 1.0.0 Creación inicial

Referencias


Última actualización: 2026-01-07 Generado por: Claude-Orquestador