Files
users_settings_server/prisma/schema.prisma
2023-07-23 21:36:47 +02:00

59 lines
1.8 KiB
Plaintext

generator client {
provider = "cargo prisma"
output = "../src/prisma.rs"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model UserSettings {
id Int @id @default(autoincrement())
user_id BigInt @unique
last_name String @db.VarChar(64)
first_name String @db.VarChar(64)
username String @db.VarChar(32)
source String @db.VarChar(32)
user_activity UserActivity?
languages LanguageToUser[]
@@map("user_settings")
}
model ChatDonateNotifications {
id BigInt @id @default(autoincrement())
chat_id BigInt @unique
sended DateTime @db.Timestamp(6)
@@map("chat_donate_notifications")
}
model Language {
id Int @id @default(autoincrement())
label String @db.VarChar(16)
code String @unique @db.VarChar(4)
users LanguageToUser[]
@@map("languages")
}
model UserActivity {
id Int @id @default(autoincrement())
user_id Int @unique @map("user")
updated DateTime @db.Timestamp(6)
user UserSettings @relation(fields: [user_id], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_user_activity_user_settings_id_user")
@@map("user_activity")
}
model LanguageToUser {
id Int @id @default(autoincrement())
language_id Int @map("language")
user_id Int @map("user")
language Language @relation(fields: [language_id], references: [id], onDelete: Cascade, map: "fk_users_languages_languages_language_id")
user UserSettings @relation(fields: [user_id], references: [id], onDelete: Cascade, map: "fk_users_languages_user_settings_user_id")
@@map("users_languages")
}