trading-platform-database-v2/ddl/schemas/investment/002_add_columns.sql
rckrdmrd e520268348 Migración desde trading-platform/apps/database - Estándar multi-repo v2
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 08:32:52 -06:00

78 lines
3.4 KiB
SQL

-- ============================================================================
-- SCHEMA: investment
-- DESCRIPTION: Agregar columnas faltantes a tablas existentes
-- VERSION: 1.0.0
-- CREATED: 2026-01-10
-- DEPENDS: investment/001_agent_allocations.sql
-- ============================================================================
-- ============================================================================
-- MODIFICACIONES A agent_configs
-- ============================================================================
-- Agregar columna name
ALTER TABLE investment.agent_configs
ADD COLUMN IF NOT EXISTS name VARCHAR(100) DEFAULT '';
-- Agregar columna target_return_percent
ALTER TABLE investment.agent_configs
ADD COLUMN IF NOT EXISTS target_return_percent DECIMAL(5, 2) DEFAULT 0;
-- Agregar columna max_drawdown_percent
ALTER TABLE investment.agent_configs
ADD COLUMN IF NOT EXISTS max_drawdown_percent DECIMAL(5, 2) DEFAULT 0;
-- Comentarios
COMMENT ON COLUMN investment.agent_configs.name IS 'Nombre descriptivo del agente';
COMMENT ON COLUMN investment.agent_configs.target_return_percent IS 'Retorno objetivo anual en porcentaje';
COMMENT ON COLUMN investment.agent_configs.max_drawdown_percent IS 'Drawdown máximo permitido en porcentaje';
-- ============================================================================
-- MODIFICACIONES A agent_allocations
-- ============================================================================
-- Agregar columna total_profit_distributed
ALTER TABLE investment.agent_allocations
ADD COLUMN IF NOT EXISTS total_profit_distributed DECIMAL(15, 4) DEFAULT 0;
-- Agregar columna total_fees_paid
ALTER TABLE investment.agent_allocations
ADD COLUMN IF NOT EXISTS total_fees_paid DECIMAL(15, 4) DEFAULT 0;
-- Agregar columna lock_expires_at
ALTER TABLE investment.agent_allocations
ADD COLUMN IF NOT EXISTS lock_expires_at TIMESTAMPTZ;
-- Comentarios
COMMENT ON COLUMN investment.agent_allocations.total_profit_distributed IS 'Total de ganancias distribuidas al usuario';
COMMENT ON COLUMN investment.agent_allocations.total_fees_paid IS 'Total de comisiones pagadas';
COMMENT ON COLUMN investment.agent_allocations.lock_expires_at IS 'Fecha de expiración del periodo de bloqueo';
-- ============================================================================
-- MODIFICACIONES A ml.prediction_outcomes
-- ============================================================================
-- Agregar columna verification_source
ALTER TABLE ml.prediction_outcomes
ADD COLUMN IF NOT EXISTS verification_source VARCHAR(100);
-- Agregar columna notes
ALTER TABLE ml.prediction_outcomes
ADD COLUMN IF NOT EXISTS notes TEXT;
-- Comentarios
COMMENT ON COLUMN ml.prediction_outcomes.verification_source IS 'Fuente de verificación del resultado (manual, API, etc.)';
COMMENT ON COLUMN ml.prediction_outcomes.notes IS 'Notas adicionales sobre el resultado';
-- ============================================================================
-- INDICES ADICIONALES
-- ============================================================================
-- Indice para buscar allocations con lock activo
CREATE INDEX IF NOT EXISTS idx_alloc_lock ON investment.agent_allocations(lock_expires_at)
WHERE lock_expires_at IS NOT NULL;
-- Indice para buscar outcomes por source
CREATE INDEX IF NOT EXISTS idx_pred_out_source ON ml.prediction_outcomes(verification_source)
WHERE verification_source IS NOT NULL;