1
1
mirror of https://github.com/ZeroCatDev/ClassworksKV.git synced 2026-02-04 16:03:11 +00:00
ClassworksKV/prisma/schema.prisma
2026-02-01 18:30:23 +08:00

86 lines
3.1 KiB
Plaintext

generator client {
provider = "prisma-client"
output = "../generated/prisma"
}
datasource db {
provider = "postgresql"
}
model account {
id String @id(map: "idx_18048_primary") @db.VarChar(191)
provider String @db.VarChar(191)
providerid String @db.VarChar(191)
email String? @db.VarChar(191)
name String? @db.VarChar(191)
avatarurl String? @db.VarChar(191)
providerdata Json? @db.Json
accesstoken String?
createdat DateTime @default(now()) @db.Timestamptz(6)
updatedat DateTime @db.Timestamptz(6)
refreshtoken String?
refreshtokenexpiry DateTime? @db.Timestamptz(6)
tokenversion Int @default(1)
device device[]
@@unique([provider, providerid], map: "idx_18048_account_provider_providerid_key")
}
model appinstall {
id String @id(map: "idx_18055_primary") @db.VarChar(191)
deviceid Int
appid String @db.VarChar(191)
token String @unique(map: "idx_18055_appinstall_token_key") @db.VarChar(191)
note String? @db.VarChar(191)
installedat DateTime @default(now()) @db.Timestamptz(6)
updatedat DateTime @db.Timestamptz(6)
devicetype String? @db.VarChar(191)
isreadonly Boolean @default(false)
device device @relation(fields: [deviceid], references: [id], onDelete: Cascade)
@@index([deviceid], map: "idx_18055_appinstall_deviceid_fkey")
}
model autoauth {
id String @id(map: "idx_18062_primary") @db.VarChar(191)
deviceid Int
password String? @db.VarChar(191)
devicetype String? @db.VarChar(191)
isreadonly Boolean @default(false)
createdat DateTime @default(now()) @db.Timestamptz(6)
updatedat DateTime @db.Timestamptz(6)
device device @relation(fields: [deviceid], references: [id], onDelete: Cascade)
@@unique([deviceid, password], map: "idx_18062_autoauth_deviceid_password_key")
}
model device {
id Int @id(map: "idx_18069_primary")
uuid String @unique(map: "idx_18069_device_uuid_key") @db.VarChar(191)
name String? @db.VarChar(191)
accountid String? @db.VarChar(191)
createdat DateTime @default(now()) @db.Timestamptz(6)
updatedat DateTime @db.Timestamptz(6)
password String? @db.VarChar(191)
passwordhint String? @db.VarChar(191)
namespace String? @unique(map: "idx_18069_device_namespace_key") @db.VarChar(191)
appinstall appinstall[]
autoauth autoauth[]
account account? @relation(fields: [accountid], references: [id])
kvstore kvstore[]
@@index([accountid], map: "idx_18069_device_accountid_fkey")
}
model kvstore {
deviceid Int
key String @db.VarChar(191)
value Json @db.Json
creatorip String? @default("") @db.VarChar(191)
createdat DateTime @default(now()) @db.Timestamptz(6)
updatedat DateTime @db.Timestamptz(6)
device device @relation(fields: [deviceid], references: [id], onDelete: Cascade)
@@id([deviceid, key], map: "idx_18075_primary")
}