26 lines
782 B
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);
|
|
|