import uuid from sqlalchemy import Column, DateTime, func, ForeignKey, UniqueConstraint from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.orm import relationship from app.config.database import Base class PlanAccess(Base): __tablename__ = "plan_accesses" id = Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4, index=True) plan_id = Column(UUID(as_uuid=True), ForeignKey("subscription_plans.id", ondelete="CASCADE"), nullable=False, index=True) access_id = Column(UUID(as_uuid=True), ForeignKey("accesses.id", ondelete="CASCADE"), nullable=False, index=True) created_at = Column(DateTime(timezone=True), server_default=func.now()) plan = relationship("SubscriptionPlan", back_populates="plan_accesses") access = relationship("Access") __table_args__ = ( UniqueConstraint('plan_id', 'access_id', name='uq_plan_access'), ) def __repr__(self): return f""