78 lines
3.4 KiB
SQL
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;
|