from sqlalchemy import Column, Integer, String, Float, Text, Date from app.db.base_class import Base class Anime(Base): id = Column(Integer, primary_key=True, index=True) title = Column(String(255), index=True, nullable=False) alternative_titles = Column(String(500), nullable=True) synopsis = Column(Text, nullable=True) episodes = Column(Integer, nullable=True) status = Column(String(50), nullable=True) # airing, finished, upcoming aired_from = Column(Date, nullable=True) aired_to = Column(Date, nullable=True) duration = Column(String(50), nullable=True) # per episode (e.g., "24 min per ep") rating = Column(String(50), nullable=True) # PG-13, R, etc. score = Column(Float, nullable=True) ranked = Column(Integer, nullable=True) popularity = Column(Integer, nullable=True) studio = Column(String(100), nullable=True) source = Column(String(50), nullable=True) # manga, light novel, etc. image_url = Column(String(255), nullable=True)