from sqlalchemy import ForeignKey, Integer, REAL, String, Text, text from typing import List, Optional from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, relationship class Base(DeclarativeBase): pass class ClmIndex(Base): __tablename__ = 'clm_index' id: Mapped[Optional[int]] = mapped_column(Integer, primary_key=True) category: Mapped[Optional[str]] = mapped_column(Text) title: Mapped[Optional[str]] = mapped_column(Text) href: Mapped[Optional[str]] = mapped_column(Text, unique=True) magnet_href: Mapped[Optional[str]] = mapped_column(Text) size_text: Mapped[Optional[str]] = mapped_column(Text) size_gb: Mapped[Optional[float]] = mapped_column(REAL) heat: Mapped[Optional[int]] = mapped_column(Integer, server_default=text('0')) add_date: Mapped[Optional[str]] = mapped_column(Text) last_down_date: Mapped[Optional[str]] = mapped_column(Text) created_at: Mapped[Optional[str]] = mapped_column(Text, server_default=text("datetime('now', 'localtime')")) updated_at: Mapped[Optional[str]] = mapped_column(Text, server_default=text("datetime('now', 'localtime')")) clm_keywords_index: Mapped[List['ClmKeywordsIndex']] = relationship('ClmKeywordsIndex', back_populates='index') class ClmKeywords(Base): __tablename__ = 'clm_keywords' id: Mapped[Optional[int]] = mapped_column(Integer, primary_key=True) words: Mapped[Optional[str]] = mapped_column(Text, unique=True) groups: Mapped[Optional[str]] = mapped_column(Text) tags: Mapped[Optional[str]] = mapped_column(Text) created_at: Mapped[Optional[str]] = mapped_column(Text, server_default=text("datetime('now', 'localtime')")) updated_at: Mapped[Optional[str]] = mapped_column(Text, server_default=text("datetime('now', 'localtime')")) index_count: Mapped[Optional[int]] = mapped_column(Integer, server_default=text('0')) clm_keywords_index: Mapped[List['ClmKeywordsIndex']] = relationship('ClmKeywordsIndex', back_populates='words') class Sis(Base): __tablename__ = 'sis' id: Mapped[Optional[int]] = mapped_column(Integer, primary_key=True) plate_name: Mapped[Optional[str]] = mapped_column(Text) title: Mapped[Optional[str]] = mapped_column(Text) url: Mapped[Optional[str]] = mapped_column(Text, unique=True) size_text: Mapped[Optional[str]] = mapped_column(Text) size_gb: Mapped[Optional[float]] = mapped_column(REAL) update_date: Mapped[Optional[str]] = mapped_column(Text) created_at: Mapped[Optional[str]] = mapped_column(Text, server_default=text("datetime('now', 'localtime')")) updated_at: Mapped[Optional[str]] = mapped_column(Text, server_default=text("datetime('now', 'localtime')")) class U3c3(Base): __tablename__ = 'u3c3' id: Mapped[Optional[int]] = mapped_column(Integer, primary_key=True) category: Mapped[Optional[str]] = mapped_column(Text) title: Mapped[Optional[str]] = mapped_column(Text) url: Mapped[Optional[str]] = mapped_column(Text, unique=True) torrent_url: Mapped[Optional[str]] = mapped_column(Text) magnet_url: Mapped[Optional[str]] = mapped_column(Text) size_text: Mapped[Optional[str]] = mapped_column(Text) size_gb: Mapped[Optional[float]] = mapped_column(REAL) update_date: Mapped[Optional[str]] = mapped_column(Text) created_at: Mapped[Optional[str]] = mapped_column(Text, server_default=text("datetime('now', 'localtime')")) updated_at: Mapped[Optional[str]] = mapped_column(Text, server_default=text("datetime('now', 'localtime')")) class ClmKeywordsIndex(Base): __tablename__ = 'clm_keywords_index' id: Mapped[Optional[int]] = mapped_column(Integer, primary_key=True) words_id: Mapped[Optional[int]] = mapped_column(ForeignKey('clm_keywords.id')) index_id: Mapped[Optional[int]] = mapped_column(ForeignKey('clm_index.id')) wid_iid: Mapped[Optional[str]] = mapped_column(String(255)) tags: Mapped[Optional[str]] = mapped_column(Text) created_at: Mapped[Optional[str]] = mapped_column(Text, server_default=text("datetime('now', 'localtime')")) updated_at: Mapped[Optional[str]] = mapped_column(Text, server_default=text("datetime('now', 'localtime')")) index: Mapped[Optional['ClmIndex']] = relationship('ClmIndex', back_populates='clm_keywords_index') words: Mapped[Optional['ClmKeywords']] = relationship('ClmKeywords', back_populates='clm_keywords_index')