Advisor / app /db /models.py
ps1811's picture
Initial HF Space deployment
39b31c0
Raw
History Blame Contribute Delete
1.19 kB
from sqlalchemy import Column, Integer, String, Float, DateTime, ForeignKey
from sqlalchemy.orm import declarative_base, relationship
from datetime import datetime
Base = declarative_base()
class Campaign(Base):
__tablename__ = "campaigns"
id = Column(Integer, primary_key=True)
google_campaign_id = Column(String, unique=True)
name = Column(String)
budget = Column(Float)
spend = Column(Float)
clicks = Column(Integer)
impressions = Column(Integer)
ctr = Column(Float)
leads = Column(Integer)
cpl = Column(Float)
last_synced = Column(DateTime, default=datetime.utcnow)
recommendations = relationship("Recommendation", back_populates="campaign")
class Recommendation(Base):
__tablename__ = "recommendations"
id = Column(Integer, primary_key=True)
campaign_id = Column(Integer, ForeignKey("campaigns.id"))
recommendation_type = Column(String)
action = Column(String)
reason = Column(String)
status = Column(String, default="Pending") # Pending / Approved / Rejected
created_at = Column(DateTime, default=datetime.utcnow)
campaign = relationship("Campaign", back_populates="recommendations")