115 lines
4.2 KiB
SQL
115 lines
4.2 KiB
SQL
-- CreateTable
|
|
CREATE TABLE "Admin" (
|
|
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT DEFAULT 1,
|
|
"password" TEXT NOT NULL
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "email_config" (
|
|
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT DEFAULT 1,
|
|
"subject" TEXT NOT NULL DEFAULT 'Praktikumsplatz-Zusage',
|
|
"template" TEXT NOT NULL DEFAULT 'Sehr geehrte/r {anrede} {nachname},
|
|
|
|
wir freuen uns, Ihnen mitteilen zu können, dass Ihre Bewerbung für ein Praktikum erfolgreich war.
|
|
|
|
Sie wurden für das Praktikum bei folgender Dienststelle angenommen:
|
|
{dienststelle}
|
|
|
|
Weitere Informationen erhalten Sie in den kommenden Tagen.
|
|
|
|
Mit freundlichen Grüßen
|
|
Ihr Praktikumsteam'
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Dienststelle" (
|
|
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
"name" TEXT NOT NULL,
|
|
"plaetze" INTEGER NOT NULL DEFAULT 0
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "Praktikumszeitraum" (
|
|
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
"bezeichnung" TEXT NOT NULL,
|
|
"startDatum" DATETIME NOT NULL,
|
|
"endDatum" DATETIME NOT NULL
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "zeitraum_plaetze" (
|
|
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
"zeitraumId" INTEGER NOT NULL,
|
|
"dienststelleId" INTEGER NOT NULL,
|
|
"plaetze" INTEGER NOT NULL DEFAULT 0,
|
|
CONSTRAINT "zeitraum_plaetze_zeitraumId_fkey" FOREIGN KEY ("zeitraumId") REFERENCES "Praktikumszeitraum" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT "zeitraum_plaetze_dienststelleId_fkey" FOREIGN KEY ("dienststelleId") REFERENCES "Dienststelle" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "anmeldungen" (
|
|
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
"anrede" TEXT NOT NULL,
|
|
"vorname" TEXT NOT NULL,
|
|
"nachname" TEXT NOT NULL,
|
|
"geburtsdatum" TEXT NOT NULL,
|
|
"strasse" TEXT NOT NULL,
|
|
"hausnummer" TEXT NOT NULL,
|
|
"ort" TEXT NOT NULL,
|
|
"plz" TEXT NOT NULL,
|
|
"telefon" TEXT NOT NULL,
|
|
"email" TEXT NOT NULL,
|
|
"schulart" TEXT NOT NULL,
|
|
"schulklasse" TEXT,
|
|
"noteDeutsch" INTEGER NOT NULL,
|
|
"noteMathe" INTEGER NOT NULL,
|
|
"sozialverhalten" TEXT,
|
|
"motivation" TEXT,
|
|
"alter" INTEGER,
|
|
"status" TEXT NOT NULL DEFAULT 'OFFEN',
|
|
"processedAt" DATETIME,
|
|
"praktikumId" INTEGER,
|
|
"zugewiesenId" INTEGER,
|
|
"wunsch1Id" INTEGER,
|
|
"wunsch2Id" INTEGER,
|
|
"wunsch3Id" INTEGER,
|
|
"timestamp" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
CONSTRAINT "anmeldungen_praktikumId_fkey" FOREIGN KEY ("praktikumId") REFERENCES "Praktikumszeitraum" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
|
|
CONSTRAINT "anmeldungen_zugewiesenId_fkey" FOREIGN KEY ("zugewiesenId") REFERENCES "Dienststelle" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
|
|
CONSTRAINT "anmeldungen_wunsch1Id_fkey" FOREIGN KEY ("wunsch1Id") REFERENCES "Dienststelle" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
|
|
CONSTRAINT "anmeldungen_wunsch2Id_fkey" FOREIGN KEY ("wunsch2Id") REFERENCES "Dienststelle" ("id") ON DELETE SET NULL ON UPDATE CASCADE,
|
|
CONSTRAINT "anmeldungen_wunsch3Id_fkey" FOREIGN KEY ("wunsch3Id") REFERENCES "Dienststelle" ("id") ON DELETE SET NULL ON UPDATE CASCADE
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "PdfDatei" (
|
|
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
"pfad" TEXT NOT NULL,
|
|
"anmeldungId" INTEGER NOT NULL,
|
|
CONSTRAINT "PdfDatei_anmeldungId_fkey" FOREIGN KEY ("anmeldungId") REFERENCES "anmeldungen" ("id") ON DELETE CASCADE ON UPDATE CASCADE
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "Dienststelle_name_key" ON "Dienststelle"("name");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "Praktikumszeitraum_bezeichnung_key" ON "Praktikumszeitraum"("bezeichnung");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "zeitraum_plaetze_zeitraumId_idx" ON "zeitraum_plaetze"("zeitraumId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "zeitraum_plaetze_dienststelleId_idx" ON "zeitraum_plaetze"("dienststelleId");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "zeitraum_plaetze_zeitraumId_dienststelleId_key" ON "zeitraum_plaetze"("zeitraumId", "dienststelleId");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "anmeldungen_status_idx" ON "anmeldungen"("status");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "anmeldungen_processedAt_idx" ON "anmeldungen"("processedAt");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "anmeldungen_zugewiesenId_idx" ON "anmeldungen"("zugewiesenId");
|