import ulid from sqlalchemy import Column, String, DateTime, JSON, Text from sqlalchemy.sql import func from app.core.database.db_session import Base class Cart(Base): __tablename__ = "carts" cart_id = Column(String(26), primary_key=True, default=lambda: str(ulid.new())) customer_id = Column(String(26), unique=True, nullable=True, index=True) visitor_id = Column(String(64), unique=True, nullable=True, index=True) items_json = Column(JSON, nullable=True) # [{variant_id, qty, unit_price}] coupon_code = Column(String(50), nullable=True) expires_at = Column(DateTime, nullable=True) created_at = Column(DateTime, server_default=func.now()) updated_at = Column(DateTime, server_default=func.now(), onupdate=func.now())