user-login-history.prisma 1.1 KB

123456789101112131415161718192021222324252627282930
  1. model UserLoginHistory {
  2. id String @id @map("_id") @default(auto()) @db.ObjectId
  3. uid String // 设备码
  4. ip String // 登录 IP
  5. userAgent String? // UA (optional but useful)
  6. appVersion String? // 客户端版本 (optional)
  7. os String? // iOS / Android / Browser
  8. channelId String // 用户自带渠道 Id (required)
  9. machine String // 客户端提供 : 设备的信息,品牌及系统版本什么的 (required)
  10. createAt BigInt // 登录时间 (epoch)
  11. tokenId String? // 登录 token
  12. // Queries you will use a lot:
  13. // 1. 查某设备所有登录记录
  14. @@index([uid, createAt])
  15. // 2. 按渠道查登陆情况
  16. @@index([channelId, createAt])
  17. // 3. 查某 IP 的登陆情况(反刷)
  18. @@index([ip, createAt])
  19. // 4. 全局统计(按时间分片)
  20. @@index([createAt])
  21. @@map("userLoginHistory")
  22. }