From 2e9bb7acec6ea636abfcfcc2dcb4ce9b293cdf0d Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Thu, 27 Mar 2025 14:54:27 +0000 Subject: [PATCH] Add Order model --- models/order.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 models/order.py diff --git a/models/order.py b/models/order.py new file mode 100644 index 0000000..f811e2c --- /dev/null +++ b/models/order.py @@ -0,0 +1,22 @@ +from sqlalchemy import Column, String, Integer, DateTime, ForeignKey, Numeric +from sqlalchemy.orm import relationship +from sqlalchemy.sql import func +from core.database import Base +import uuid + +class Order(Base): + __tablename__ = "orders" + + id = Column(String, primary_key=True, default=lambda: str(uuid.uuid4())) + order_number = Column(String, unique=True, nullable=False, index=True) + customer_id = Column(String, ForeignKey("users.id"), nullable=False) + total_amount = Column(Numeric(10, 2), nullable=False) + status = Column(String, nullable=False, default="pending") + shipping_address = Column(String, nullable=False) + payment_status = Column(String, nullable=False, default="unpaid") + + created_at = Column(DateTime, default=func.now()) + updated_at = Column(DateTime, default=func.now(), onupdate=func.now()) + + customer = relationship("User", back_populates="orders") + order_items = relationship("OrderItem", back_populates="order", cascade="all, delete-orphan") \ No newline at end of file