ifixkart-backend/Backend/app/models/CartModel.py

16 lines
758 B
Python

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())