from sqlalchemy import Column, String, Float, Integer, DateTime, ForeignKey, Boolean from sqlalchemy.sql import func from sqlalchemy.orm import relationship from app.database import Base class Market(Base): __tablename__ = "markets" id = Column(Integer, primary_key=True, autoincrement=True) exchange_id = Column(String, index=True) rank = Column(Integer, nullable=True) base_id = Column(String, index=True) # Asset slug for base quote_id = Column(String, index=True) # Asset slug for quote base_symbol = Column(String, index=True) # e.g., BTC quote_symbol = Column(String, index=True) # e.g., USD price_quote = Column(Float) # Price in quote currency price_usd = Column(Float) # Price in USD volume_usd_24hr = Column(Float) percent_exchange_volume = Column(Float, nullable=True) trades_count_24hr = Column(Integer, nullable=True) updated_timestamp = Column(Integer, nullable=True) # Last time the data was updated in our database last_updated = Column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now()) def __repr__(self): return f""