18 lines
732 B
Python
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>" |