schema.prisma 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. generator client {
  2. provider = "prisma-client-js"
  3. }
  4. datasource db {
  5. provider = "mysql"
  6. url = env("DATABASE_URL")
  7. }
  8. model auth{
  9. auth_id Int @id @default(autoincrement()) @db.UnsignedInt
  10. username String @unique
  11. email String @unique
  12. password String
  13. user userinfo?
  14. post post[]
  15. comment comment[]
  16. }
  17. model post{
  18. id Int @id @default(autoincrement()) @db.UnsignedInt
  19. title String
  20. content String
  21. createdAt DateTime @default(now())
  22. updatedAt DateTime @updatedAt
  23. authorId Int @db.UnsignedInt
  24. author auth @relation(fields: [authorId], references: [auth_id])
  25. comment comment[]
  26. plateId Int @db.UnsignedInt @default(0)
  27. plate plate @relation(fields: [plateId], references: [id])
  28. }
  29. model comment{
  30. id Int @id @default(autoincrement()) @db.UnsignedInt
  31. content String
  32. createdAt DateTime @default(now())
  33. updatedAt DateTime @updatedAt
  34. authorId Int @db.UnsignedInt
  35. author auth @relation(fields: [authorId], references: [auth_id])
  36. postId Int @db.UnsignedInt
  37. post post @relation(fields: [postId], references: [id])
  38. }
  39. model plate{
  40. id Int @id @default(autoincrement()) @db.UnsignedInt
  41. name String @unique
  42. post post[]
  43. }
  44. model userinfo{
  45. id Int @id @default(autoincrement()) @db.UnsignedInt
  46. avatar String
  47. exp Int @default(0) @db.UnsignedInt
  48. level Int @default(0) @db.UnsignedInt
  49. createdAt DateTime @default(now())
  50. authId Int @unique @db.UnsignedInt
  51. user auth @relation(fields: [authId], references: [auth_id])
  52. }