renamed file
This commit is contained in:
parent
c295651d83
commit
be55f16181
@ -1,181 +0,0 @@
|
|||||||
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)
|
|
||||||
)
|
|
||||||
123
utils/sqlacodegen_tables.py
Normal file
123
utils/sqlacodegen_tables.py
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
from sqlalchemy import Column, ForeignKey, Integer, LargeBinary, MetaData, Table, Text
|
||||||
|
|
||||||
|
metadata = MetaData()
|
||||||
|
|
||||||
|
|
||||||
|
t_Genre = Table(
|
||||||
|
'Genre', metadata,
|
||||||
|
Column('ID', Integer, primary_key=True),
|
||||||
|
Column('Genre', Text, nullable=False)
|
||||||
|
)
|
||||||
|
|
||||||
|
t_Herausgeber = Table(
|
||||||
|
'Herausgeber', metadata,
|
||||||
|
Column('ID', Integer, primary_key=True),
|
||||||
|
Column('Name', Text, nullable=False)
|
||||||
|
)
|
||||||
|
|
||||||
|
t_Pseudonym = Table(
|
||||||
|
'Pseudonym', metadata,
|
||||||
|
Column('ID', Integer, primary_key=True),
|
||||||
|
Column('Pseudonym', Text, nullable=False)
|
||||||
|
)
|
||||||
|
|
||||||
|
t_Sprache = Table(
|
||||||
|
'Sprache', metadata,
|
||||||
|
Column('ID', Integer, primary_key=True),
|
||||||
|
Column('Sprache', Text, nullable=False)
|
||||||
|
)
|
||||||
|
|
||||||
|
t_Textform = Table(
|
||||||
|
'Textform', metadata,
|
||||||
|
Column('ID', Integer, primary_key=True),
|
||||||
|
Column('Textform', Text, nullable=False)
|
||||||
|
)
|
||||||
|
|
||||||
|
t_Titelbild = Table(
|
||||||
|
'Titelbild', metadata,
|
||||||
|
Column('ID', Integer, primary_key=True),
|
||||||
|
Column('Mimetype', Text, nullable=False),
|
||||||
|
Column('Dateiname', Text, nullable=False),
|
||||||
|
Column('Dateigroesse', Integer, nullable=False),
|
||||||
|
Column('Breite', Integer, nullable=False),
|
||||||
|
Column('Hoehe', Integer, nullable=False),
|
||||||
|
Column('Bild', LargeBinary, nullable=False),
|
||||||
|
Column('Thumbnail', LargeBinary, nullable=False),
|
||||||
|
Column('sha256', Text, nullable=False, unique=True)
|
||||||
|
)
|
||||||
|
|
||||||
|
t_Verlag = Table(
|
||||||
|
'Verlag', metadata,
|
||||||
|
Column('ID', Integer, primary_key=True),
|
||||||
|
Column('Verlag', Text, nullable=False)
|
||||||
|
)
|
||||||
|
|
||||||
|
t_Werksform = Table(
|
||||||
|
'Werksform', metadata,
|
||||||
|
Column('ID', Integer, primary_key=True),
|
||||||
|
Column('Werksform', Text, nullable=False)
|
||||||
|
)
|
||||||
|
|
||||||
|
t_Reihe = Table(
|
||||||
|
'Reihe', metadata,
|
||||||
|
Column('ID', Integer, primary_key=True),
|
||||||
|
Column('Titel', Text, nullable=False),
|
||||||
|
Column('Verlag', ForeignKey('Verlag.ID'))
|
||||||
|
)
|
||||||
|
|
||||||
|
t_Text = Table(
|
||||||
|
'Text', metadata,
|
||||||
|
Column('ID', Integer, primary_key=True),
|
||||||
|
Column('Titel', Text, nullable=False),
|
||||||
|
Column('Untertitel', Text),
|
||||||
|
Column('Reihe', ForeignKey('Reihe.ID')),
|
||||||
|
Column('Textform', ForeignKey('Textform.ID')),
|
||||||
|
Column('Sprache', ForeignKey('Sprache.ID'))
|
||||||
|
)
|
||||||
|
|
||||||
|
t_Werk = Table(
|
||||||
|
'Werk', metadata,
|
||||||
|
Column('ID', Integer, primary_key=True),
|
||||||
|
Column('Titel', Text, nullable=False),
|
||||||
|
Column('Untertitel', Text),
|
||||||
|
Column('Werksform', ForeignKey('Werksform.ID')),
|
||||||
|
Column('Verlag', ForeignKey('Verlag.ID')),
|
||||||
|
Column('Reihe', ForeignKey('Reihe.ID')),
|
||||||
|
Column('Reihennummer', Text),
|
||||||
|
Column('Erscheinungsdatum', Text),
|
||||||
|
Column('ISBN_13', Text),
|
||||||
|
Column('ISBN_10', Text),
|
||||||
|
Column('ISSN', Text),
|
||||||
|
Column('Preis', Text),
|
||||||
|
Column('Titelbild', ForeignKey('Titelbild.ID')),
|
||||||
|
Column('Klappentext', Text),
|
||||||
|
Column('Anmerkungen', Text)
|
||||||
|
)
|
||||||
|
|
||||||
|
t_Text_Genre = Table(
|
||||||
|
'Text_Genre', metadata,
|
||||||
|
Column('Text', ForeignKey('Text.ID'), primary_key=True),
|
||||||
|
Column('Genre', ForeignKey('Genre.ID'), primary_key=True)
|
||||||
|
)
|
||||||
|
|
||||||
|
t_Veroeffentlichung = Table(
|
||||||
|
'Veroeffentlichung', metadata,
|
||||||
|
Column('ID', Integer, primary_key=True),
|
||||||
|
Column('Text', ForeignKey('Text.ID'), nullable=False),
|
||||||
|
Column('Werk', ForeignKey('Werk.ID'), nullable=False),
|
||||||
|
Column('AltTitel', Text),
|
||||||
|
Column('AltUntertitel', Text),
|
||||||
|
Column('Pseudonym', ForeignKey('Pseudonym.ID'), nullable=False)
|
||||||
|
)
|
||||||
|
|
||||||
|
t_Werk_Genre = Table(
|
||||||
|
'Werk_Genre', metadata,
|
||||||
|
Column('Werk', ForeignKey('Werk.ID'), primary_key=True),
|
||||||
|
Column('Genre', ForeignKey('Genre.ID'), primary_key=True)
|
||||||
|
)
|
||||||
|
|
||||||
|
t_Werk_Herausgeber = Table(
|
||||||
|
'Werk_Herausgeber', metadata,
|
||||||
|
Column('Herausgeber', ForeignKey('Herausgeber.ID'), primary_key=True),
|
||||||
|
Column('Werk', ForeignKey('Werk.ID'), primary_key=True)
|
||||||
|
)
|
||||||
Loading…
Reference in New Issue
Block a user