Update database architecture. Add genres and actors

This commit is contained in:
2024-06-23 19:42:40 +04:00
parent 7b2f270913
commit fc3bcc343d
18 changed files with 220 additions and 12 deletions

View File

@@ -0,0 +1,25 @@
from sqlalchemy import Column, Integer, ForeignKey, PrimaryKeyConstraint, String
from sqlalchemy.orm import relationship
from ..database import Base
class AudiobookGenre(Base):
__tablename__ = "audiobook_genres"
id = Column(Integer, primary_key=True)
genre = Column(String, nullable=False, unique=True)
audiobooks = relationship("Audiobook", secondary="audiobook_to_genre",
lazy="selectin")
class AudiobookToGenre(Base):
__tablename__ = "audiobook_to_genre"
__table_args__ = (
PrimaryKeyConstraint("audiobook_id", "genre_id"),
)
audiobook_id = Column(Integer, ForeignKey("audiobooks.id"), nullable=False)
genre_id = Column(Integer, ForeignKey(
"audiobook_genres.id"), nullable=False)