1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| // web/prisma/schema.prisma datasource db { provider = "sqlite" url = env("DATABASE_URL") // url = "file:./dev.db" }
generator client { provider = "prisma-client-js" }
model User { id String @id @default(cuid()) name String? email String? @unique emailVerified DateTime? image String? // 一般不推荐存储密码 password String? accounts Account[] // sessions Session[] // Optional for WebAuthn support // Authenticator Authenticator[]
createdAt DateTime @default(now()) updatedAt DateTime @updatedAt }
model Account { id String @id @default(cuid()) userId String type String provider String providerAccountId String refresh_token String? access_token String? expires_at Int? token_type String? scope String? id_token String? session_state String?
createdAt DateTime @default(now()) updatedAt DateTime @updatedAt
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@unique([provider, providerAccountId]) }
// model Session { // id String @id @default(cuid()) // sessionToken String @unique // userId String // expires DateTime // user User @relation(fields: [userId], references: [id], onDelete: Cascade) // // createdAt DateTime @default(now()) // updatedAt DateTime @updatedAt // }
// model VerificationToken { // identifier String // token String // expires DateTime // // @@unique([identifier, token]) // }
// Optional for WebAuthn support // model Authenticator { // credentialID String @unique // userId String // providerAccountId String // credentialPublicKey String // counter Int // credentialDeviceType String // credentialBackedUp Boolean // transports String? // // user User @relation(fields: [userId], references: [id], onDelete: Cascade) // // @@id([userId, credentialID]) // }
|