25 lines
1.0 KiB
Python
25 lines
1.0 KiB
Python
from sqlalchemy import Column, Integer, String, Float, DateTime, ForeignKey
|
|
from sqlalchemy.orm import relationship
|
|
from datetime import datetime
|
|
from app.db.database import Base
|
|
|
|
class Order(Base):
|
|
__tablename__ = "orders"
|
|
|
|
id = Column(Integer, primary_key=True, index=True)
|
|
customer_name = Column(String, index=True)
|
|
customer_email = Column(String)
|
|
total_amount = Column(Float)
|
|
status = Column(String, default="pending") # pending, processing, shipped, delivered, cancelled
|
|
created_at = Column(DateTime, default=datetime.utcnow)
|
|
updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
|
|
|
|
class OrderCard(Base):
|
|
__tablename__ = "order_cards"
|
|
|
|
id = Column(Integer, primary_key=True, index=True)
|
|
order_id = Column(Integer, ForeignKey("orders.id"))
|
|
card_id = Column(Integer, ForeignKey("cards.id"))
|
|
quantity = Column(Integer, default=1)
|
|
price_at_time = Column(Float) # Price of the card when ordered
|
|
created_at = Column(DateTime, default=datetime.utcnow) |