the_works/utils/sqlacodegen_output.py

182 lines
7.4 KiB
Python

from typing import List, Optional
from sqlalchemy import Column, ForeignKey, Integer, LargeBinary, Table, Text
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, relationship
class Base(DeclarativeBase):
pass
class Genre(Base):
__tablename__ = 'Genre'
Genre: Mapped[str] = mapped_column(Text)
ID: Mapped[Optional[int]] = mapped_column(Integer, primary_key=True)
Text_: Mapped[List['Text_']] = relationship('Text_', secondary='Text_Genre', back_populates='Genre_')
Werk: Mapped[List['Werk']] = relationship('Werk', secondary='Werk_Genre', back_populates='Genre_')
class Herausgeber(Base):
__tablename__ = 'Herausgeber'
Name: Mapped[str] = mapped_column(Text)
ID: Mapped[Optional[int]] = mapped_column(Integer, primary_key=True)
Werk: Mapped[List['Werk']] = relationship('Werk', secondary='Werk_Herausgeber', back_populates='Herausgeber_')
class Pseudonym(Base):
__tablename__ = 'Pseudonym'
Pseudonym: Mapped[str] = mapped_column(Text)
ID: Mapped[Optional[int]] = mapped_column(Integer, primary_key=True)
Veroeffentlichung: Mapped[List['Veroeffentlichung']] = relationship('Veroeffentlichung', back_populates='Pseudonym1')
class Sprache(Base):
__tablename__ = 'Sprache'
Sprache: Mapped[str] = mapped_column(Text)
ID: Mapped[Optional[int]] = mapped_column(Integer, primary_key=True)
Text_: Mapped[List['Text_']] = relationship('Text_', back_populates='Sprache1')
class Textform(Base):
__tablename__ = 'Textform'
Textform: Mapped[str] = mapped_column(Text)
ID: Mapped[Optional[int]] = mapped_column(Integer, primary_key=True)
Text_: Mapped[List['Text_']] = relationship('Text_', back_populates='Textform1')
class Titelbild(Base):
__tablename__ = 'Titelbild'
Mimetype: Mapped[str] = mapped_column(Text)
Dateiname: Mapped[str] = mapped_column(Text)
Dateigroesse: Mapped[int] = mapped_column(Integer)
Breite: Mapped[int] = mapped_column(Integer)
Hoehe: Mapped[int] = mapped_column(Integer)
Bild: Mapped[bytes] = mapped_column(LargeBinary)
Thumbnail: Mapped[bytes] = mapped_column(LargeBinary)
sha256: Mapped[str] = mapped_column(Text, unique=True)
ID: Mapped[Optional[int]] = mapped_column(Integer, primary_key=True)
Werk: Mapped[List['Werk']] = relationship('Werk', back_populates='Titelbild1')
class Verlag(Base):
__tablename__ = 'Verlag'
Verlag: Mapped[str] = mapped_column(Text)
ID: Mapped[Optional[int]] = mapped_column(Integer, primary_key=True)
Reihe: Mapped[List['Reihe']] = relationship('Reihe', back_populates='Verlag1')
Werk: Mapped[List['Werk']] = relationship('Werk', back_populates='Verlag1')
class Werksform(Base):
__tablename__ = 'Werksform'
Werksform: Mapped[str] = mapped_column(Text)
ID: Mapped[Optional[int]] = mapped_column(Integer, primary_key=True)
Werk: Mapped[List['Werk']] = relationship('Werk', back_populates='Werksform1')
class Reihe(Base):
__tablename__ = 'Reihe'
Titel: Mapped[str] = mapped_column(Text)
ID: Mapped[Optional[int]] = mapped_column(Integer, primary_key=True)
Verlag_: Mapped[Optional[str]] = mapped_column('Verlag', ForeignKey('Verlag.ID'))
Verlag1: Mapped[Optional['Verlag']] = relationship('Verlag', back_populates='Reihe')
Text_: Mapped[List['Text_']] = relationship('Text_', back_populates='Reihe1')
Werk: Mapped[List['Werk']] = relationship('Werk', back_populates='Reihe1')
class Text_(Base):
__tablename__ = 'Text'
Titel: Mapped[str] = mapped_column(Text)
ID: Mapped[Optional[int]] = mapped_column(Integer, primary_key=True)
Untertitel: Mapped[Optional[str]] = mapped_column(Text)
Reihe_: Mapped[Optional[int]] = mapped_column('Reihe', ForeignKey('Reihe.ID'))
Textform_: Mapped[Optional[int]] = mapped_column('Textform', ForeignKey('Textform.ID'))
Sprache_: Mapped[Optional[int]] = mapped_column('Sprache', ForeignKey('Sprache.ID'))
Genre_: Mapped[List['Genre']] = relationship('Genre', secondary='Text_Genre', back_populates='Text_')
Reihe1: Mapped[Optional['Reihe']] = relationship('Reihe', back_populates='Text_')
Sprache1: Mapped[Optional['Sprache']] = relationship('Sprache', back_populates='Text_')
Textform1: Mapped[Optional['Textform']] = relationship('Textform', back_populates='Text_')
Veroeffentlichung: Mapped[List['Veroeffentlichung']] = relationship('Veroeffentlichung', back_populates='Text2')
class Werk(Base):
__tablename__ = 'Werk'
Titel: Mapped[str] = mapped_column(Text)
ID: Mapped[Optional[int]] = mapped_column(Integer, primary_key=True)
Untertitel: Mapped[Optional[str]] = mapped_column(Text)
Werksform_: Mapped[Optional[int]] = mapped_column('Werksform', ForeignKey('Werksform.ID'))
Verlag_: Mapped[Optional[int]] = mapped_column('Verlag', ForeignKey('Verlag.ID'))
Reihe_: Mapped[Optional[int]] = mapped_column('Reihe', ForeignKey('Reihe.ID'))
Reihennummer: Mapped[Optional[str]] = mapped_column(Text)
Erscheinungsdatum: Mapped[Optional[str]] = mapped_column(Text)
ISBN_13: Mapped[Optional[str]] = mapped_column(Text)
ISBN_10: Mapped[Optional[str]] = mapped_column(Text)
ISSN: Mapped[Optional[str]] = mapped_column(Text)
Preis: Mapped[Optional[str]] = mapped_column(Text)
Titelbild_: Mapped[Optional[int]] = mapped_column('Titelbild', ForeignKey('Titelbild.ID'))
Klappentext: Mapped[Optional[str]] = mapped_column(Text)
Anmerkungen: Mapped[Optional[str]] = mapped_column(Text)
Genre_: Mapped[List['Genre']] = relationship('Genre', secondary='Werk_Genre', back_populates='Werk')
Herausgeber_: Mapped[List['Herausgeber']] = relationship('Herausgeber', secondary='Werk_Herausgeber', back_populates='Werk')
Reihe1: Mapped[Optional['Reihe']] = relationship('Reihe', back_populates='Werk')
Titelbild1: Mapped[Optional['Titelbild']] = relationship('Titelbild', back_populates='Werk')
Verlag1: Mapped[Optional['Verlag']] = relationship('Verlag', back_populates='Werk')
Werksform1: Mapped[Optional['Werksform']] = relationship('Werksform', back_populates='Werk')
Veroeffentlichung: Mapped[List['Veroeffentlichung']] = relationship('Veroeffentlichung', back_populates='Werk1')
t_Text_Genre = Table(
'Text_Genre', Base.metadata,
Column('Text', ForeignKey('Text.ID'), primary_key=True),
Column('Genre', ForeignKey('Genre.ID'), primary_key=True)
)
class Veroeffentlichung(Base):
__tablename__ = 'Veroeffentlichung'
Text1: Mapped[int] = mapped_column('Text', ForeignKey('Text.ID'))
Werk_: Mapped[int] = mapped_column('Werk', ForeignKey('Werk.ID'))
Pseudonym_: Mapped[int] = mapped_column('Pseudonym', ForeignKey('Pseudonym.ID'))
ID: Mapped[Optional[int]] = mapped_column(Integer, primary_key=True)
AltTitel: Mapped[Optional[str]] = mapped_column(Text)
AltUntertitel: Mapped[Optional[str]] = mapped_column(Text)
Pseudonym1: Mapped['Pseudonym'] = relationship('Pseudonym', back_populates='Veroeffentlichung')
Text2: Mapped['Text_'] = relationship('Text_', back_populates='Veroeffentlichung')
Werk1: Mapped['Werk'] = relationship('Werk', back_populates='Veroeffentlichung')
t_Werk_Genre = Table(
'Werk_Genre', Base.metadata,
Column('Werk', ForeignKey('Werk.ID'), primary_key=True),
Column('Genre', ForeignKey('Genre.ID'), primary_key=True)
)
t_Werk_Herausgeber = Table(
'Werk_Herausgeber', Base.metadata,
Column('Herausgeber', ForeignKey('Herausgeber.ID'), primary_key=True),
Column('Werk', ForeignKey('Werk.ID'), primary_key=True)
)