praktikum refinemend Plaetze pro Dienstelle und Pro Zeitraum
This commit is contained in:
114
prisma/migrations/20251125082147_prisma6/migration.sql
Normal file
114
prisma/migrations/20251125082147_prisma6/migration.sql
Normal file
@@ -0,0 +1,114 @@
|
||||
-- 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");
|
||||
Reference in New Issue
Block a user