these are all files of lesser importance
This commit is contained in:
parent
4b3bf9464b
commit
6e737c4103
@ -1,132 +0,0 @@
|
|||||||
DROP TABLE IF EXISTS "AutorHrsg_Index";
|
|
||||||
DROP TABLE IF EXISTS "AutorInnen_und_Hrsg";
|
|
||||||
DROP TABLE IF EXISTS "TextGenres_Index";
|
|
||||||
DROP TABLE IF EXISTS "WerkGenres_Index";
|
|
||||||
DROP TABLE IF EXISTS "Genres";
|
|
||||||
DROP TABLE IF EXISTS "Reihen";
|
|
||||||
DROP TABLE IF EXISTS "Sprachen";
|
|
||||||
DROP TABLE IF EXISTS "Tete";
|
|
||||||
DROP TABLE IF EXISTS "Textformen";
|
|
||||||
DROP TABLE IF EXISTS "Verlage";
|
|
||||||
DROP TABLE IF EXISTS "Veroeffentlichungen_Index";
|
|
||||||
DROP TABLE IF EXISTS "Werke";
|
|
||||||
DROP TABLE IF EXISTS "Werksformen";
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS "AutorHrsg_Index" (
|
|
||||||
"ID" INTEGER,
|
|
||||||
"Werk" INTEGER NOT NULL,
|
|
||||||
"AutorIn_oder_Hrsg" INTEGER NOT NULL DEFAULT 1,
|
|
||||||
PRIMARY KEY("ID" AUTOINCREMENT),
|
|
||||||
FOREIGN KEY("AutorIn_oder_Hrsg") REFERENCES "AutorInnen_und_Hrsg"("ID"),
|
|
||||||
FOREIGN KEY("Werk") REFERENCES "Werke"("ID")
|
|
||||||
);
|
|
||||||
CREATE TABLE IF NOT EXISTS "AutorInnen_und_Hrsg" (
|
|
||||||
"ID" INTEGER,
|
|
||||||
"Name" TEXT NOT NULL,
|
|
||||||
"Funktion" TEXT NOT NULL,
|
|
||||||
PRIMARY KEY("ID" AUTOINCREMENT)
|
|
||||||
);
|
|
||||||
CREATE TABLE IF NOT EXISTS "TextGenres_Index" (
|
|
||||||
"ID" INTEGER,
|
|
||||||
"Text" INTEGER NOT NULL,
|
|
||||||
"Genre" INTEGER NOT NULL,
|
|
||||||
PRIMARY KEY("ID" AUTOINCREMENT),
|
|
||||||
FOREIGN KEY("Genre") REFERENCES "Genres"("ID"),
|
|
||||||
FOREIGN KEY("Text") REFERENCES "Texte"("ID")
|
|
||||||
);
|
|
||||||
CREATE TABLE IF NOT EXISTS "WerkGenres_Index" (
|
|
||||||
"ID" INTEGER,
|
|
||||||
"Werk" INTEGER NOT NULL,
|
|
||||||
"Genre" INTEGER NOT NULL,
|
|
||||||
PRIMARY KEY("ID" AUTOINCREMENT),
|
|
||||||
FOREIGN KEY("Genre") REFERENCES "Genres"("ID"),
|
|
||||||
FOREIGN KEY("Werk") REFERENCES "Werke"("ID")
|
|
||||||
);
|
|
||||||
CREATE TABLE IF NOT EXISTS "Genres" (
|
|
||||||
"ID" INTEGER,
|
|
||||||
"Genre" TEXT NOT NULL,
|
|
||||||
PRIMARY KEY("ID" AUTOINCREMENT)
|
|
||||||
);
|
|
||||||
CREATE TABLE IF NOT EXISTS "Reihen" (
|
|
||||||
"ID" INTEGER,
|
|
||||||
"Reihentitel" TEXT NOT NULL,
|
|
||||||
"Verlag" TEXT,
|
|
||||||
PRIMARY KEY("ID" AUTOINCREMENT),
|
|
||||||
FOREIGN KEY("Verlag") REFERENCES "Verlage"("ID")
|
|
||||||
);
|
|
||||||
CREATE TABLE IF NOT EXISTS "Sprachen" (
|
|
||||||
"ID" INTEGER,
|
|
||||||
"Sprache" TEXT NOT NULL,
|
|
||||||
PRIMARY KEY("ID" AUTOINCREMENT)
|
|
||||||
);
|
|
||||||
CREATE TABLE IF NOT EXISTS "Texte" (
|
|
||||||
"ID" INTEGER,
|
|
||||||
"Titel" TEXT NOT NULL,
|
|
||||||
"Untertitel" TEXT,
|
|
||||||
"Reihe" INTEGER,
|
|
||||||
"Textform" INTEGER,
|
|
||||||
"Originalsprache" INTEGER,
|
|
||||||
PRIMARY KEY("ID" AUTOINCREMENT),
|
|
||||||
FOREIGN KEY("Originalsprache") REFERENCES "Sprachen"("ID"),
|
|
||||||
FOREIGN KEY("Reihe") REFERENCES "Reihen"("ID"),
|
|
||||||
FOREIGN KEY("Textform") REFERENCES "Textformen"("ID")
|
|
||||||
);
|
|
||||||
CREATE TABLE IF NOT EXISTS "Textformen" (
|
|
||||||
"ID" INTEGER,
|
|
||||||
"Textform" TEXT NOT NULL,
|
|
||||||
PRIMARY KEY("ID" AUTOINCREMENT)
|
|
||||||
);
|
|
||||||
CREATE TABLE IF NOT EXISTS "Verlage" (
|
|
||||||
"ID" INTEGER,
|
|
||||||
"Verlag" TEXT NOT NULL,
|
|
||||||
PRIMARY KEY("ID" AUTOINCREMENT)
|
|
||||||
);
|
|
||||||
CREATE TABLE IF NOT EXISTS "Veröffentlichungen_Index" (
|
|
||||||
"ID" INTEGER,
|
|
||||||
"Text" INTEGER NOT NULL,
|
|
||||||
"Werk" INTEGER NOT NULL,
|
|
||||||
"neuer Titel" TEXT,
|
|
||||||
"neuer Untertitel" TEXT,
|
|
||||||
"Veröffentlicht als" INTEGER NOT NULL,
|
|
||||||
PRIMARY KEY("ID" AUTOINCREMENT),
|
|
||||||
FOREIGN KEY("Text") REFERENCES "Texte"("ID"),
|
|
||||||
FOREIGN KEY("Veröffentlicht als") REFERENCES "AutorInnen_und_Hrsg"("ID"),
|
|
||||||
FOREIGN KEY("Werk") REFERENCES "Werke"("ID")
|
|
||||||
);
|
|
||||||
CREATE TABLE IF NOT EXISTS "Werke" (
|
|
||||||
"ID" INTEGER,
|
|
||||||
"Werkstitel" TEXT NOT NULL,
|
|
||||||
"Werksuntertitel" TEXT,
|
|
||||||
"Werksform" INTEGER,
|
|
||||||
"Verlag" INTEGER,
|
|
||||||
"Reihe" INTEGER,
|
|
||||||
"Reihennummer" TEXT,
|
|
||||||
"Erscheinungsdatum" TEXT,
|
|
||||||
"ISBN_13" TEXT,
|
|
||||||
"ISBN_10" TEXT,
|
|
||||||
"ISSN" TEXT,
|
|
||||||
"Preis" TEXT,
|
|
||||||
"Titelbild" BLOB,
|
|
||||||
"Klappentext" TEXT,
|
|
||||||
"Anmerkungen" TEXT,
|
|
||||||
PRIMARY KEY("ID" AUTOINCREMENT),
|
|
||||||
FOREIGN KEY("Reihe") REFERENCES "Reihen"("ID"),
|
|
||||||
FOREIGN KEY("Verlag") REFERENCES "Verlage"("ID"),
|
|
||||||
FOREIGN KEY("Werksform") REFERENCES "Werksformen"("ID")
|
|
||||||
);
|
|
||||||
CREATE TABLE IF NOT EXISTS "Werksformen" (
|
|
||||||
"ID" INTEGER,
|
|
||||||
"Werksform" TEXT NOT NULL,
|
|
||||||
"Medium" TEXT,
|
|
||||||
PRIMARY KEY("ID" AUTOINCREMENT)
|
|
||||||
);
|
|
||||||
CREATE VIEW Meine_Buecher AS
|
|
||||||
SELECT DISTINCT w.Werkstitel
|
|
||||||
, a.Name
|
|
||||||
, a.Funktion
|
|
||||||
FROM Werke w
|
|
||||||
INNER JOIN AutorHrsg_Index i
|
|
||||||
ON w.ID = i.Werk
|
|
||||||
INNER JOIN AutorInnen_und_Hrsg a
|
|
||||||
ON i.AutorIn_oder_Hrsg = a.ID
|
|
||||||
WHERE a.ID < 4;
|
|
||||||
19
tmp.md
19
tmp.md
@ -26,14 +26,14 @@ Welche Tabellen habe ich?
|
|||||||
- x Originalsprache zu Sprache
|
- x Originalsprache zu Sprache
|
||||||
- x Reihentitel zu Reihe
|
- x Reihentitel zu Reihe
|
||||||
- x Werks[unter]titel zu [Unter]Titel
|
- x Werks[unter]titel zu [Unter]Titel
|
||||||
|
- x Werksform.Medium löschen
|
||||||
|
|
||||||
- sollte column Werk.Werksform required sein?
|
- x AutorIn_und_Hrsg in zwei Tabellen aufteilen: Pseudonym (nur ich), Herausgeber (egal wer)
|
||||||
|
- in der alten Tabelle hatte TR die ID 1, PJ die 3 -> muss ich in den VÖ-Zeilen noch anpassen
|
||||||
|
|
||||||
|
- x sollte column Werk.Werksform required sein? -> prolly schon; hab's im input field vom Modal auch schon umgesetzt
|
||||||
- braucht table Werk eine column AutorInHrsg?
|
- braucht table Werk eine column AutorInHrsg?
|
||||||
|
- x eigene Tabelle "Bild" mit ID (PK) / Werk (FK) / Bild / ggf. Anmerkungen
|
||||||
|
|
||||||
Was ich vllt. noch ändern will:
|
|
||||||
|
|
||||||
- VÖ-Daten als Datentyp TIMESTAMP abspeichern
|
|
||||||
|
|
||||||
View "Meine Bücher":
|
View "Meine Bücher":
|
||||||
|
|
||||||
@ -47,3 +47,10 @@ INNER JOIN AutorHrsg_Index i
|
|||||||
INNER JOIN AutorInnen_und_Hrsg a
|
INNER JOIN AutorInnen_und_Hrsg a
|
||||||
ON i.AutorIn_oder_Hrsg = a.ID
|
ON i.AutorIn_oder_Hrsg = a.ID
|
||||||
WHERE a.ID < 4
|
WHERE a.ID < 4
|
||||||
|
|
||||||
|
|
||||||
|
Checkmark Entities (yes/no)
|
||||||
|
|
||||||
|
- ✔ / ✘ (geschwungen, schwarz auf transparent)
|
||||||
|
- ✅ / ❎ (weiß auf grün)
|
||||||
|
- (kein yes) / ❌ (rot auf transparent)
|
||||||
|
|||||||
138
utils/schema.sql
Normal file
138
utils/schema.sql
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
BEGIN TRANSACTION;
|
||||||
|
DROP TABLE IF EXISTS "Genre";
|
||||||
|
CREATE TABLE "Genre" (
|
||||||
|
"ID" INTEGER,
|
||||||
|
"Genre" TEXT NOT NULL,
|
||||||
|
PRIMARY KEY("ID" AUTOINCREMENT)
|
||||||
|
);
|
||||||
|
DROP TABLE IF EXISTS "Herausgeber";
|
||||||
|
CREATE TABLE "Herausgeber" (
|
||||||
|
"ID" INTEGER,
|
||||||
|
"Name" TEXT NOT NULL,
|
||||||
|
PRIMARY KEY("ID" AUTOINCREMENT)
|
||||||
|
);
|
||||||
|
DROP TABLE IF EXISTS "Pseudonym";
|
||||||
|
CREATE TABLE "Pseudonym" (
|
||||||
|
"ID" INTEGER,
|
||||||
|
"Pseudonym" TEXT NOT NULL,
|
||||||
|
PRIMARY KEY("ID" AUTOINCREMENT)
|
||||||
|
);
|
||||||
|
DROP TABLE IF EXISTS "Reihe";
|
||||||
|
CREATE TABLE "Reihe" (
|
||||||
|
"ID" INTEGER,
|
||||||
|
"Titel" TEXT NOT NULL,
|
||||||
|
"Verlag" TEXT,
|
||||||
|
PRIMARY KEY("ID" AUTOINCREMENT),
|
||||||
|
FOREIGN KEY("Verlag") REFERENCES "Verlag"("ID")
|
||||||
|
);
|
||||||
|
DROP TABLE IF EXISTS "Sprache";
|
||||||
|
CREATE TABLE "Sprache" (
|
||||||
|
"ID" INTEGER,
|
||||||
|
"Sprache" TEXT NOT NULL,
|
||||||
|
PRIMARY KEY("ID" AUTOINCREMENT)
|
||||||
|
);
|
||||||
|
DROP TABLE IF EXISTS "Text";
|
||||||
|
CREATE TABLE "Text" (
|
||||||
|
"ID" INTEGER,
|
||||||
|
"Titel" TEXT NOT NULL,
|
||||||
|
"Untertitel" TEXT,
|
||||||
|
"Reihe" INTEGER,
|
||||||
|
"Textform" INTEGER,
|
||||||
|
"Sprache" INTEGER,
|
||||||
|
PRIMARY KEY("ID" AUTOINCREMENT),
|
||||||
|
FOREIGN KEY("Reihe") REFERENCES "Reihe"("ID"),
|
||||||
|
FOREIGN KEY("Sprache") REFERENCES "Sprache"("ID"),
|
||||||
|
FOREIGN KEY("Textform") REFERENCES "Textform"("ID")
|
||||||
|
);
|
||||||
|
DROP TABLE IF EXISTS "Text_Genre";
|
||||||
|
CREATE TABLE "Text_Genre" (
|
||||||
|
"Text" INTEGER,
|
||||||
|
"Genre" INTEGER,
|
||||||
|
PRIMARY KEY("Text","Genre"),
|
||||||
|
FOREIGN KEY("Genre") REFERENCES "Genre"("ID"),
|
||||||
|
FOREIGN KEY("Text") REFERENCES "Text"("ID")
|
||||||
|
);
|
||||||
|
DROP TABLE IF EXISTS "Textform";
|
||||||
|
CREATE TABLE "Textform" (
|
||||||
|
"ID" INTEGER,
|
||||||
|
"Textform" TEXT NOT NULL,
|
||||||
|
PRIMARY KEY("ID" AUTOINCREMENT)
|
||||||
|
);
|
||||||
|
DROP TABLE IF EXISTS "Titelbild";
|
||||||
|
CREATE TABLE "Titelbild" (
|
||||||
|
"ID" INTEGER,
|
||||||
|
"Mimetype" TEXT NOT NULL,
|
||||||
|
"Dateiname" TEXT NOT NULL,
|
||||||
|
"Dateigroesse" INTEGER NOT NULL,
|
||||||
|
"Breite" INTEGER NOT NULL,
|
||||||
|
"Hoehe" INTEGER NOT NULL,
|
||||||
|
"Bild" BLOB NOT NULL,
|
||||||
|
"Thumbnail" BLOB NOT NULL,
|
||||||
|
"sha256" TEXT NOT NULL UNIQUE,
|
||||||
|
PRIMARY KEY("ID" AUTOINCREMENT)
|
||||||
|
);
|
||||||
|
DROP TABLE IF EXISTS "Verlag";
|
||||||
|
CREATE TABLE "Verlag" (
|
||||||
|
"ID" INTEGER,
|
||||||
|
"Verlag" TEXT NOT NULL,
|
||||||
|
PRIMARY KEY("ID" AUTOINCREMENT)
|
||||||
|
);
|
||||||
|
DROP TABLE IF EXISTS "Veroeffentlichung";
|
||||||
|
CREATE TABLE "Veroeffentlichung" (
|
||||||
|
"ID" INTEGER,
|
||||||
|
"Text" INTEGER NOT NULL,
|
||||||
|
"Werk" INTEGER NOT NULL,
|
||||||
|
"AltTitel" TEXT,
|
||||||
|
"AltUntertitel" TEXT,
|
||||||
|
"Pseudonym" INTEGER NOT NULL,
|
||||||
|
PRIMARY KEY("ID" AUTOINCREMENT),
|
||||||
|
FOREIGN KEY("Pseudonym") REFERENCES "Pseudonym"("ID"),
|
||||||
|
FOREIGN KEY("Text") REFERENCES "Text"("ID"),
|
||||||
|
FOREIGN KEY("Werk") REFERENCES "Werk"("ID")
|
||||||
|
);
|
||||||
|
DROP TABLE IF EXISTS "Werk";
|
||||||
|
CREATE TABLE "Werk" (
|
||||||
|
"ID" INTEGER,
|
||||||
|
"Titel" TEXT NOT NULL,
|
||||||
|
"Untertitel" TEXT,
|
||||||
|
"Werksform" INTEGER,
|
||||||
|
"Verlag" INTEGER,
|
||||||
|
"Reihe" INTEGER,
|
||||||
|
"Reihennummer" TEXT,
|
||||||
|
"Erscheinungsdatum" TEXT,
|
||||||
|
"ISBN_13" TEXT,
|
||||||
|
"ISBN_10" TEXT,
|
||||||
|
"ISSN" TEXT,
|
||||||
|
"Preis" TEXT,
|
||||||
|
"Titelbild" INTEGER,
|
||||||
|
"Klappentext" TEXT,
|
||||||
|
"Anmerkungen" TEXT,
|
||||||
|
PRIMARY KEY("ID" AUTOINCREMENT),
|
||||||
|
FOREIGN KEY("Reihe") REFERENCES "Reihe"("ID"),
|
||||||
|
FOREIGN KEY("Titelbild") REFERENCES "Titelbild"("ID"),
|
||||||
|
FOREIGN KEY("Verlag") REFERENCES "Verlag"("ID"),
|
||||||
|
FOREIGN KEY("Werksform") REFERENCES "Werksform"("ID")
|
||||||
|
);
|
||||||
|
DROP TABLE IF EXISTS "Werk_Genre";
|
||||||
|
CREATE TABLE "Werk_Genre" (
|
||||||
|
"Werk" INTEGER,
|
||||||
|
"Genre" INTEGER,
|
||||||
|
PRIMARY KEY("Werk","Genre"),
|
||||||
|
FOREIGN KEY("Genre") REFERENCES "Genre"("ID"),
|
||||||
|
FOREIGN KEY("Werk") REFERENCES "Werk"("ID")
|
||||||
|
);
|
||||||
|
DROP TABLE IF EXISTS "Werk_Herausgeber";
|
||||||
|
CREATE TABLE "Werk_Herausgeber" (
|
||||||
|
"Herausgeber" INTEGER,
|
||||||
|
"Werk" INTEGER,
|
||||||
|
PRIMARY KEY("Herausgeber","Werk"),
|
||||||
|
FOREIGN KEY("Herausgeber") REFERENCES "Herausgeber"("ID"),
|
||||||
|
FOREIGN KEY("Werk") REFERENCES "Werk"("ID")
|
||||||
|
);
|
||||||
|
DROP TABLE IF EXISTS "Werksform";
|
||||||
|
CREATE TABLE "Werksform" (
|
||||||
|
"ID" INTEGER,
|
||||||
|
"Werksform" TEXT NOT NULL,
|
||||||
|
PRIMARY KEY("ID" AUTOINCREMENT)
|
||||||
|
);
|
||||||
|
COMMIT;
|
||||||
181
utils/sqlacodegen_output.py
Normal file
181
utils/sqlacodegen_output.py
Normal file
@ -0,0 +1,181 @@
|
|||||||
|
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)
|
||||||
|
)
|
||||||
BIN
works.oldschema.sqlite
Normal file
BIN
works.oldschema.sqlite
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user