"""strategy 表(M8.3)。""" from __future__ import annotations from datetime import datetime from sqlalchemy import DateTime, String, Text from sqlalchemy.orm import Mapped, mapped_column from app.infrastructure.persistence.sqlalchemy.base import Base class StrategyModel(Base): __tablename__ = "strategy" id: Mapped[str] = mapped_column(String(32), primary_key=True) name: Mapped[str] = mapped_column(String(64), unique=True) description: Mapped[str] = mapped_column(String(300), default="") # 2026-09 重构后策略库只存选股策略,新行一律 selection(历史行的 backtest 由数据迁移收敛) spec_type: Mapped[str] = mapped_column(String(16), default="selection") config_json: Mapped[str] = mapped_column(Text) version: Mapped[str] = mapped_column(String(16), default="1") created_at: Mapped[datetime] = mapped_column(DateTime)