31 lines
966 B
Python
31 lines
966 B
Python
from sqlalchemy import Column, ForeignKey, Integer, String, Table
|
|
from sqlalchemy.orm import relationship
|
|
|
|
from database import Base
|
|
|
|
video_profiles = Table(
|
|
"video_profiles",
|
|
Base.metadata,
|
|
Column("video_id", Integer, ForeignKey("videos.id", ondelete="CASCADE")),
|
|
Column("profile_id", Integer, ForeignKey("profiles.id", ondelete="CASCADE")),
|
|
)
|
|
|
|
|
|
class Profile(Base):
|
|
__tablename__ = "profiles"
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
|
name = Column(String, nullable=False, unique=True)
|
|
|
|
|
|
class Video(Base):
|
|
__tablename__ = "videos"
|
|
|
|
id = Column(Integer, primary_key=True, autoincrement=True)
|
|
title = Column(String, nullable=False)
|
|
youtuber = Column(String, nullable=False)
|
|
thumbnail_url = Column(String, nullable=False)
|
|
youtube_url = Column(String, nullable=False)
|
|
file_path = Column(String, nullable=True)
|
|
profiles = relationship("Profile", secondary=video_profiles, backref="videos")
|