21 lines
1009 B
Python
21 lines
1009 B
Python
"""信号模型"""
|
|
from .base import Base
|
|
from sqlalchemy.orm import Mapped, mapped_column, relationship
|
|
from sqlalchemy import BigInteger, Integer, VARCHAR, Text, Float, Boolean
|
|
from typing import Optional
|
|
|
|
|
|
class Signal(Base):
|
|
__tablename__ = "signals"
|
|
|
|
id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True)
|
|
source: Mapped[Optional[str]] = mapped_column(VARCHAR(50), nullable=True)
|
|
content: Mapped[Optional[str]] = mapped_column(Text, nullable=True)
|
|
impact_score: Mapped[Optional[float]] = mapped_column(Float, nullable=True)
|
|
priority: Mapped[str] = mapped_column(VARCHAR(20), nullable=False, default="low")
|
|
processed: Mapped[bool] = mapped_column(Boolean, nullable=False, default=False)
|
|
strategic_analysis: Mapped[Optional[str]] = mapped_column(Text, nullable=True)
|
|
tasks_generated: Mapped[Optional[str]] = mapped_column(Text, nullable=True)
|
|
|
|
feedbacks = relationship("SignalFeedback", back_populates="signal", cascade="all, delete-orphan")
|