"""字段库表(2026-10)。 condition_field:过滤条件字段的目录契约源(name 主键幂等)。 内置字段由 quant/condition_fields.py 的注册表在 API 首次读取时 seed(只补不删), 自定义字段与用户改过的文案都落在这张表里。 """ from __future__ import annotations from datetime import datetime from sqlalchemy import Boolean, DateTime, Integer, String from sqlalchemy.orm import Mapped, mapped_column from app.infrastructure.persistence.sqlalchemy.base import Base class ConditionFieldModel(Base): __tablename__ = "condition_field" name: Mapped[str] = mapped_column(String(64), primary_key=True) label: Mapped[str] = mapped_column(String(64), default="") description: Mapped[str] = mapped_column(String(500), default="") kind: Mapped[str] = mapped_column(String(8), default="num") group_name: Mapped[str] = mapped_column(String(32), default="行情") unit: Mapped[str] = mapped_column(String(16), default="") source: Mapped[str] = mapped_column(String(8), default="builtin") enabled: Mapped[bool] = mapped_column(Boolean, default=True) sort_order: Mapped[int] = mapped_column(Integer, default=100) created_at: Mapped[datetime] = mapped_column(DateTime) updated_at: Mapped[datetime] = mapped_column(DateTime)