diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 36c37ac6d577ccb1e6a8a682341b0808af6f0040..c3d6ef58f9e96c0c08776a84711b031c08f784ae 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -6,25 +6,52 @@ generator client { } datasource db { - provider = "sqlite" + provider = "postgresql" url = env("DATABASE_URL") } -model Message { - id Int @id @default(autoincrement()) - author String? - gameId String? - title String? +model User { + id String @id @default(cuid()) + userName String @unique + name String? + email String? @unique + emailVerified DateTime? + image String? + Post Post[] + Comment Comment[] + Like Like[] +} + +model Post { + id String @id @default(dbgenerated()) @db.Uuid + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + content String - likeCount Int? @default(0) - sentAt DateTime? @default(now()) - updatedAt DateTime? @updatedAt + likeCount Int? @default(0) + gameId String? + + published Boolean @default(false) + userId String + user User @relation(fields: [userId], references: [id]) + Comment Comment[] + Like Like[] } model Like { - id Int @id @default(autoincrement()) - postId Int - author String? - gameId String? - likedAt DateTime? @default(now()) + id String @id @default(dbgenerated()) @db.Uuid + postId String + userId String + post Post @relation(fields: [postId], references: [id], onDelete: Cascade) + user User @relation(fields: [userId], references: [id], onDelete: Cascade) +} + +model Comment { + id String @id @default(cuid()) + message String + postId String + userId String + createdAt DateTime @default(now()) + post Post @relation(fields: [postId], references: [id], onDelete: Cascade) + user User @relation(fields: [userId], references: [id]) }