from typing import Optional from decimal import Decimal from sqlalchemy import Integer, String, DECIMAL, PrimaryKeyConstraint, DateTime, ForeignKeyConstraint, UniqueConstraint, ForeignKey from sqlalchemy.orm import Mapped, mapped_column from core.database import Base class ExchangeRate(Base): __tablename__ = "exchange_rate" __table_args__ = ( PrimaryKeyConstraint('id', name='exchange_rate_pkey'), ForeignKeyConstraint(['tenant_id'], ['a76.tenants.id'], name='fk_exchange_rate_tenant'), UniqueConstraint('date', 'tenant_id', name='uq_exchange_rate_date_tenant'), {"schema": "a76"} ) id: Mapped[int] = mapped_column(Integer, primary_key=True) date: Mapped[int] = mapped_column(DateTime) value: Mapped[Optional[Decimal]] = mapped_column(DECIMAL(13, 6)) local_currency: Mapped[Optional[str]] = mapped_column(String(7)) foreign_currency: Mapped[Optional[str]] = mapped_column(String(7)) tenant_id: Mapped[int] = mapped_column(Integer, nullable=False, index=True)