16 lines
758 B
Python
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())
|