from datetime import datetime from sqlalchemy import Column, DateTime, Float, Integer, String, Text from sqlalchemy.orm import relationship from app.db.base import Base class Product(Base): __tablename__ = "products" id = Column(Integer, primary_key=True, index=True) name = Column(String, index=True, nullable=False) description = Column(Text, nullable=True) price = Column(Float, nullable=False) stock = Column(Integer, default=0, nullable=False) image_url = Column(String, nullable=True) created_at = Column(DateTime, default=datetime.utcnow) updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow) # Relationships order_items = relationship("OrderItem", back_populates="product") cart_items = relationship("CartItem", back_populates="product")