from datetime import datetime from sqlalchemy import DateTime, Float, ForeignKey, Integer, String from sqlalchemy.orm import Mapped, mapped_column, relationship from app.database import Base class SRLevel(Base): __tablename__ = "sr_levels" id: Mapped[int] = mapped_column(primary_key=True) ticker_id: Mapped[int] = mapped_column( ForeignKey("tickers.id", ondelete="CASCADE"), nullable=False ) price_level: Mapped[float] = mapped_column(Float, nullable=False) type: Mapped[str] = mapped_column(String(20), nullable=False) strength: Mapped[int] = mapped_column(Integer, nullable=False) detection_method: Mapped[str] = mapped_column(String(50), nullable=False) created_at: Mapped[datetime] = mapped_column( DateTime(timezone=True), default=datetime.utcnow, nullable=False ) ticker = relationship("Ticker", back_populates="sr_levels")