Open GwakByeongGuk opened 2 weeks ago
order 테이블 수정 쿼리문 CREATE TABLE new_order ( omno INTEGER, mno INTEGER, prdno INTEGER, qty INTEGER, price INTEGER, postcode TEXT, addr TEXT, phone TEXT, payment TEXT, regdate DATETIME, PRIMARY KEY (omno, prdno) );
-- 기존 데이터 복사 INSERT INTO new_order (omno, mno, prdno, qty, price, postcode, addr, phone, payment, regdate) SELECT omno, mno, prdno, qty, price, postcode, addr, phone, payment, regdate FROM "order";
-- 기존 테이블 삭제 및 새 테이블 이름 변경 DROP TABLE "order"; ALTER TABLE new_order RENAME TO "order";
order 모델 변경 from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, PrimaryKeyConstraint from sqlalchemy.orm import relationship from app.model.base import Base from datetime import datetime
class Order(Base): tablename = 'order'
omno = Column(Integer, nullable=False)
mno = Column(Integer, ForeignKey('member.mno'), nullable=False)
prdno = Column(Integer, ForeignKey('product.prdno'), nullable=False)
qty = Column(Integer, nullable=False)
price = Column(Integer, nullable=False)
postcode = Column(String(10), nullable=False)
addr = Column(String(100), nullable=False)
phone = Column(String(15), nullable=False)
payment = Column(String(100), nullable=False)
regdate = Column(DateTime, default=datetime.now, nullable=True)
member = relationship("Member", back_populates="orders")
product = relationship("Product", back_populates="orders")
__table_args__ = (
PrimaryKeyConstraint('omno', 'prdno'),
)
order 스키마 변경 from pydantic import BaseModel from typing import Optional from datetime import datetime
class OrderBase(BaseModel): mno: int prdno: int qty: int price: int postcode: str addr: str phone: str payment: str
class OrderCreate(OrderBase): pass
class OrderRead(OrderBase): omno: int # 주문 번호 prdno: int # 제품 번호 (복합 기본 키의 일부) regdate: Optional[datetime]
class Config:
from_attributes = True # ORM 호환 모드 설정
teamProjectA.zip
디테일에서 하나만 결제할 때 cart 테이블에 저장되었다가 하나만 결제하는 방식
-> 결제를 하지않았을 때 cart 테이블에 상품이 남아있어 세션에 저장했다가 결제하는 방식으로 수정 예정