"""DimSubaccount Model.""" from sqlalchemy import Column from sqlalchemy import Integer from sqlalchemy import Numeric from sqlalchemy import String from moneyhub.config import Config from moneyhub.constants.constants import Environment from moneyhub.models.mysql_base import CRUDMixin from moneyhub.models.snowflake_base import BaseModel class DimSubaccount(BaseModel, CRUDMixin): """Dim Subaccount model.""" __tablename__ = 'dim_subaccount' if Config.ENVIRONMENT != Config.TEST_ENVIRONMENT: env = Environment.QA if Config.ENVIRONMENT in [Environment.QA, Environment.DEV] else ( Environment.PROD) __table_args__ = {'schema': f'FACTS.{env.value}'} subaccount_id = Column('subaccountid', Integer, nullable=False, primary_key=True) commission_override = Column('commissionoverride', Numeric(12, 6), nullable=False) subaccount_split_type = Column(String(255), nullable=False)