learning_ai_invt_trdg/backend/schema/006_add_trade_source.sql

26 lines
782 B
SQL

-- ============================================================
-- Migration 006: Trade Source Normalization
-- Date: 2026-02-14
-- Purpose: Separate trade source semantics from trade side.
-- ============================================================
ALTER TABLE trade_history
ADD COLUMN IF NOT EXISTS source text DEFAULT 'BOT';
-- Normalize legacy rows where side was overloaded with MANUAL.
UPDATE trade_history
SET side = 'BUY'
WHERE upper(side) = 'MANUAL';
-- Backfill source for historical/manual records where possible.
UPDATE trade_history
SET source = 'MANUAL'
WHERE source IS NULL
OR upper(source) NOT IN ('BOT', 'MANUAL');
ALTER TABLE trade_history
ALTER COLUMN source SET NOT NULL;
CREATE INDEX IF NOT EXISTS idx_trade_history_source ON trade_history(source);