generator client { provider = "prisma-client" output = "../generated/prisma" previewFeatures = ["fullTextSearchPostgres", "relationJoins", "nativeDistinct", "views"] moduleFormat = "esm" generatedFileExtension = "ts" importFileExtension = "ts" engineType = "client" } datasource db { provider = "postgresql" } model User { id String @id name String email String @unique emailVerified Boolean image String? createdAt DateTime updatedAt DateTime sessions Session[] accounts Account[] posts Post[] comments Comment[] @@map("user") } model Session { id String @id expiresAt DateTime token String @unique createdAt DateTime updatedAt DateTime ipAddress String? userAgent String? userId String user User @relation(fields: [userId], references: [id], onDelete: Cascade) @@map("session") } model Account { id String @id accountId String providerId String userId String user User @relation(fields: [userId], references: [id], onDelete: Cascade) accessToken String? refreshToken String? idToken String? accessTokenExpiresAt DateTime? refreshTokenExpiresAt DateTime? scope String? password String? createdAt DateTime updatedAt DateTime @@map("account") } model Verification { id String @id identifier String value String expiresAt DateTime createdAt DateTime? updatedAt DateTime? @@map("verification") } model Post { id String @id @default(cuid()) title String body String authorId String author User @relation(fields: [authorId], references: [id], onDelete: Cascade) comments Comment[] createdAt DateTime @default(now()) updatedAt DateTime @updatedAt @@index([authorId]) @@index([createdAt]) } model Comment { id String @id @default(cuid()) body String postId String post Post @relation(fields: [postId], references: [id], onDelete: Cascade) authorId String author User @relation(fields: [authorId], references: [id], onDelete: Cascade) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt @@index([postId]) @@index([authorId]) }