from datetime import datetime from typing import Optional from sqlalchemy import Column, DateTime, Float, Integer, String, Text from app.db.base_class import Base class Item(Base): """ Database model for inventory items. """ id = Column(Integer, primary_key=True, index=True) name = Column(String(255), nullable=False, index=True) description = Column(Text, nullable=True) quantity = Column(Integer, nullable=False, default=0) unit_price = Column(Float, nullable=True) sku = Column(String(50), unique=True, index=True, nullable=True) category = Column(String(100), nullable=True, index=True) location = Column(String(100), nullable=True) created_at = Column(DateTime, default=datetime.utcnow) updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)