18 lines
732 B
Python

from sqlalchemy import Column, String, Float, DateTime
from sqlalchemy.sql import func
from app.database import Base
class Rate(Base):
__tablename__ = "rates"
id = Column(String, primary_key=True) # Rate ID (slug)
symbol = Column(String, index=True) # Currency symbol (e.g., BTC, USD)
currency_symbol = Column(String, nullable=True) # Display symbol (e.g., $, ₿)
type = Column(String) # crypto or fiat
rate_usd = Column(Float) # Conversion rate to USD
# Last time the data was updated
last_updated = Column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now())
def __repr__(self):
return f"<Rate {self.symbol} ({self.type}): {self.rate_usd} USD>"