setup prisma orm

This commit is contained in:
2024-11-13 18:50:53 +01:00
parent 0db2a0c647
commit 1e9ad26db5
31 changed files with 17698 additions and 42 deletions
Binary file not shown.
+65
View File
@@ -0,0 +1,65 @@
generator dartClient {
provider = "dart run orm"
output = "../../../backend_dart/lib/infrastructure/persistence"
}
generator goClient {
provider = "go run github.com/steebchen/prisma-client-go"
output = "../../../backend-go/internal/infrastructure/persistence"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
// User Model
model User {
id String @id @default(uuid())
name String
email String @unique
password String
projects Project[] // Beziehung zu Projekten
timeEntries TimeEntry[] // Beziehung zu Zeiteinträgen
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
// Project Model
model Project {
id String @id @default(uuid())
name String
description String?
clientId String?
tasks Task[] // Beziehung zu Aufgaben
timeEntries TimeEntry[] // Beziehung zu Zeiteinträgen
user User @relation(fields: [userId], references: [id])
userId String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
// TimeEntry Model
model TimeEntry {
id String @id @default(uuid())
startTime DateTime
endTime DateTime
description String?
user User @relation(fields: [userId], references: [id])
userId String
project Project @relation(fields: [projectId], references: [id])
projectId String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
// Task Model (optional)
model Task {
id String @id @default(uuid())
name String
description String?
project Project @relation(fields: [projectId], references: [id])
projectId String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}