Q2TG/prisma/schema.prisma

108 lines
2.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model Session {
id Int @id @default(autoincrement())
name String @unique
dcId Int?
port Int?
serverAddress String?
authKey Bytes?
entities Entity[]
}
model Entity {
id Int @id @default(autoincrement())
// 源代码里面大概支持 string 和 BigInteger不如先全都存 String
entityId String
sessionId Int
session Session @relation(fields: [sessionId], references: [id], onDelete: Cascade)
hash String?
username String?
phone String?
name String?
@@unique([entityId, sessionId])
}
model Instance {
id Int @id @default(autoincrement())
owner BigInt @default(0)
qqUin BigInt @default(0)
qqPassword String @default("")
qqPlatform Int @default(0)
workMode String @default("")
isSetup Boolean @default(false)
botToken String?
Message Message[]
ForwardPair ForwardPair[]
}
model Message {
id Int @id @default(autoincrement())
qqRoomId BigInt @db.BigInt
qqSenderId BigInt @db.BigInt
time Int
brief String?
seq Int
rand Int
pktnum Int
tgChatId BigInt @db.BigInt
tgMsgId Int
instanceId Int @default(0)
instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade)
@@unique([qqRoomId, qqSenderId, seq, rand, pktnum, time, instanceId])
@@index([tgChatId, tgMsgId, instanceId])
}
model ForwardPair {
id Int @id @default(autoincrement())
qqRoomId BigInt @db.BigInt
tgChatId BigInt @db.BigInt
avatarCache AvatarCache[]
instanceId Int @default(0)
instance Instance @relation(fields: [instanceId], references: [id], onDelete: Cascade)
@@unique([qqRoomId, instanceId])
@@unique([tgChatId, instanceId])
}
model File {
id Int @id @default(autoincrement())
roomId BigInt @db.BigInt
fileId String
info String
}
model FlashPhoto {
id Int @id @default(autoincrement())
photoMd5 String
views FlashPhotoView[]
}
model FlashPhotoView {
id Int @id @default(autoincrement())
flashPhotoId Int
flashPhoto FlashPhoto @relation(fields: [flashPhotoId], references: [id])
viewerId BigInt @db.BigInt
@@unique([flashPhotoId, viewerId])
}
model AvatarCache {
id Int @id @default(autoincrement())
forwardPair ForwardPair @relation(fields: [forwardPairId], references: [id], onDelete: Cascade)
forwardPairId Int @unique
hash Bytes
}