the_works/utils/sqlacodegen_tables.py
2025-07-16 21:23:29 +02:00

124 lines
3.5 KiB
Python

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)
)