27 lines
1.2 KiB
Python

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"<Market {self.base_symbol}/{self.quote_symbol} on {self.exchange_id}>"