sun12wook11 / teamProject

GNU General Public License v3.0
0 stars 3 forks source link

윤선님 오더 파일 + 결제 추가 #46

Open GwakByeongGuk opened 2 weeks ago

GwakByeongGuk commented 2 weeks ago

teamProjectA.zip

디테일에서 하나만 결제할 때 cart 테이블에 저장되었다가 하나만 결제하는 방식

-> 결제를 하지않았을 때 cart 테이블에 상품이 남아있어 세션에 저장했다가 결제하는 방식으로 수정 예정

GwakByeongGuk commented 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";

GwakByeongGuk commented 2 weeks ago

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'),
)
GwakByeongGuk commented 2 weeks ago

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 호환 모드 설정
GwakByeongGuk commented 2 weeks ago

furniture_catalog.csv