-- V6: GoldenChart 투자전략 테이블
-- frontend StrategyPage 에서 생성한 DSL 전략을 DB에 저장
-- DSL 구조: { id, name, description, buyCondition: LogicNode, sellCondition: LogicNode }

CREATE TABLE IF NOT EXISTS gc_strategy (
    id              BIGINT       NOT NULL AUTO_INCREMENT,
    user_id         BIGINT       NULL     COMMENT 'users.id 논리 참조 (로그인 사용자)',
    device_id       VARCHAR(100) NULL     COMMENT '비회원 기기 식별자',
    name            VARCHAR(200) NOT NULL COMMENT '전략 이름',
    description     TEXT         NULL     COMMENT '전략 설명',
    buy_condition_json  JSON     NULL     COMMENT '매수 조건 DSL (LogicNode 트리)',
    sell_condition_json JSON     NULL     COMMENT '매도 조건 DSL (LogicNode 트리)',
    enabled         TINYINT(1)   NOT NULL DEFAULT 1 COMMENT '활성 여부',
    created_at      DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP,
    updated_at      DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id),
    INDEX idx_gc_strategy_user   (user_id),
    INDEX idx_gc_strategy_device (device_id),
    INDEX idx_gc_strategy_name   (name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
  COMMENT='GoldenChart 투자전략 DSL 저장';
