from sqlalchemy import Column, String, ForeignKey, Boolean, Integer from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.orm import relationship from app.domain.models.base import BaseModel class Music(BaseModel): '''음악 모델''' __tablename__ = "musics" # 외래키 order_id = Column(UUID(as_uuid=True), ForeignKey('orders.id'), nullable=False) index = Column(Integer, nullable=False) # 번호 is_selected = Column(Boolean, nullable=False) # 선택 여부 title = Column(String, nullable=False) # 제목 url = Column(String, nullable=False) # 주소 duration = Column(Integer, nullable=False) # 재생 시간 lyrics = Column(String, nullable=False) # 가사 # 관계 설정 # ( musics --- N:1 --- orders ) order = relationship("Order", back_populates="musics") # ( musics --- 1:1 --- videos ) video = relationship("Video", back_populates="music", uselist=False, cascade="all, delete-orphan")