import sqlalchemy as sa from sqlalchemy.orm import Mapped, mapped_column from campaigns.connectors.db.orm import Base from campaigns.utils.uuid import uuid_string class CampaignAd(Base): __tablename__ = "meta_campaign_ad" id: Mapped[str] = mapped_column(primary_key=True, default=uuid_string) name: Mapped[str] external_id: Mapped[str] = mapped_column(unique=True) campaign_id: Mapped[str] = mapped_column(sa.ForeignKey("meta_campaign.id")) ad_creative_id: Mapped[str] = mapped_column( sa.ForeignKey("meta_campaign_ad_creative.id", initially="DEFERRED") ) ad_set_id: Mapped[str] = mapped_column( sa.ForeignKey("meta_campaign_ad_set.id", initially="DEFERRED") )