Files
website/prisma/schema.prisma
2023-12-09 21:26:41 +01:00

80 lines
1.9 KiB
Plaintext

generator client {
provider = "prisma-client-js"
previewFeatures = ["postgresqlExtensions"]
}
datasource db {
provider = "postgresql"
url = env("POSTGRES_PRISMA_URL")
directUrl = env("POSTGRES_URL_NON_POOLING")
}
model Maintenance {
id Int @id @default(autoincrement())
reason String
beginAt DateTime @default(now())
endAt DateTime @default(now())
createdAt DateTime @default(now())
enabled Boolean @default(true)
}
model Announcement {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
content String
}
model Category {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
slug String
name String
talents CategoriesOnTalents[]
}
model Talent {
id Int @id @default(autoincrement())
createdAt DateTime @default(now())
logo String
name String @unique
website String
work String
favorite Boolean @default(false)
categories CategoriesOnTalents[]
}
model CategoriesOnTalents {
talentId Int
categoryId Int
category Category @relation(fields: [categoryId], references: [id])
talent Talent @relation(fields: [talentId], references: [id])
@@id([talentId, categoryId])
@@index([talentId])
@@index([categoryId])
}
model Post {
id Int @id @default(autoincrement())
slug String @unique
createdAt DateTime @default(now())
views Int @default(0)
likes Int @default(0)
}
model Suggestion {
id Int @id @default(autoincrement())
author String @unique
content String
added Boolean @default(false)
createdAt DateTime @default(now())
}
model Form {
id Int @id @default(autoincrement())
name String
email String
content String
createdAt DateTime @default(now())
}