O2Sound_ver2_final/backend/app/domain/models/item.py

26 lines
1.0 KiB
Python

from sqlalchemy.orm import relationship
from sqlalchemy import Column, String, ForeignKey
from sqlalchemy.dialects.postgresql import UUID
from app.domain.models.base import BaseModel
from sqlalchemy.dialects.postgresql import ARRAY
class Item(BaseModel):
'''업체 모델'''
__tablename__ = "items"
# 외래키 - users 테이블의 id 참조
user_id = Column(UUID(as_uuid=True), ForeignKey('users.id'), nullable=False)
# 업체 정보
name = Column(String, nullable=False)
address = Column(String, nullable=False)
url = Column(String, nullable=False)
phone_number = Column(String, nullable=True)
thumbnail_url = Column(String, nullable=True)
hashtags = Column(ARRAY(String(30)), nullable=True)
description = Column(String, nullable=True)
# 관계 설정
# ( items --- N:1 --- users )
# ( items --- 1:N --- orders )
user = relationship("User", back_populates="items")
orders = relationship("Order", back_populates="item", cascade="all, delete-orphan")