praktikum refinemend Plaetze pro Dienstelle und Pro Zeitraum
This commit is contained in:
@@ -6,7 +6,7 @@ generator client {
|
||||
|
||||
datasource db {
|
||||
provider = "sqlite"
|
||||
url = "file:./praktika.db"
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
model Admin {
|
||||
@@ -25,11 +25,14 @@ model EmailConfig {
|
||||
model Dienststelle {
|
||||
id Int @id @default(autoincrement())
|
||||
name String @unique
|
||||
plaetze Int @default(0)
|
||||
plaetze Int @default(0) // Standard-Plätze, wird nicht mehr direkt verwendet
|
||||
anmeldungenWunsch1 Anmeldung[] @relation("Wunsch1")
|
||||
anmeldungenWunsch2 Anmeldung[] @relation("Wunsch2")
|
||||
anmeldungenWunsch3 Anmeldung[] @relation("Wunsch3")
|
||||
zugewiesene Anmeldung[] @relation("Zugewiesen")
|
||||
|
||||
// Neue Relation zu ZeitraumPlaetze
|
||||
zeitraumPlaetze ZeitraumPlaetze[]
|
||||
}
|
||||
|
||||
model Praktikumszeitraum {
|
||||
@@ -38,6 +41,26 @@ model Praktikumszeitraum {
|
||||
startDatum DateTime
|
||||
endDatum DateTime
|
||||
anmeldungen Anmeldung[] @relation("PraktikumszeitraumAnmeldungen")
|
||||
|
||||
// Neue Relation zu ZeitraumPlaetze
|
||||
zeitraumPlaetze ZeitraumPlaetze[]
|
||||
}
|
||||
|
||||
// Neue Zwischentabelle für Plätze pro Zeitraum und Dienststelle
|
||||
model ZeitraumPlaetze {
|
||||
id Int @id @default(autoincrement())
|
||||
zeitraumId Int
|
||||
dienststelleId Int
|
||||
plaetze Int @default(0)
|
||||
|
||||
zeitraum Praktikumszeitraum @relation(fields: [zeitraumId], references: [id], onDelete: Cascade)
|
||||
dienststelle Dienststelle @relation(fields: [dienststelleId], references: [id], onDelete: Cascade)
|
||||
|
||||
// Unique constraint: Pro Zeitraum und Dienststelle nur ein Eintrag
|
||||
@@unique([zeitraumId, dienststelleId])
|
||||
@@index([zeitraumId])
|
||||
@@index([dienststelleId])
|
||||
@@map("zeitraum_plaetze")
|
||||
}
|
||||
|
||||
// Erweiterte Status-Enum für bessere Nachverfolgung
|
||||
@@ -70,7 +93,6 @@ model Anmeldung {
|
||||
status Status @default(OFFEN)
|
||||
|
||||
// Neue Felder für Status-Tracking
|
||||
// processedBy String? // Wer bearbeitet die Anmeldung
|
||||
processedAt DateTime? // Wann wurde sie bearbeitet
|
||||
|
||||
// Praktikumszeitraum Relation
|
||||
|
||||
Reference in New Issue
Block a user