// This is your Prisma schema file, // learn more about it in the docs: https://pris.ly/d/prisma-schema // Looking for ways to speed up your queries, or scale easily with your serverless or edge functions? // Try Prisma Accelerate: https://pris.ly/cli/accelerate-init generator client { provider = "prisma-client-js" } datasource db { provider = "mysql" url = env("DATABASE_URL") } model GameSystem { id String @id @default(cuid()) schemas Schema[] author User @relation(fields: [authorId], references: [id]) authorId String name String @unique created DateTime @default(now()) } model Schema { id String @id @default(cuid()) gameSystem GameSystem? @relation(fields: [gameSystemId], references: [id]) gameSystemId String? publications Publication[] author User @relation(fields: [authorId], references: [id]) authorId String originalId String name String schema Json types Json version Int } model Publication { id String @id @default(cuid()) schema Schema @relation(fields: [schemaId], references: [id]) schemaId String tags Tag[] author User @relation(fields: [authorId], references: [id]) authorId String name String data Json TagsOnPublications TagsOnPublications[] } model TagsOnPublications { publication Publication @relation(fields: [publicationId], references: [id]) publicationId String tagId String tag Tag @relation(fields: [tagId], references: [id]) @@id([publicationId, tagId]) } model Tag { id String @id @default(cuid()) name String Publication Publication? @relation(fields: [publicationId], references: [id]) publicationId String? TagsOnPublications TagsOnPublications[] childTagsOnTags TagsOnTags[] @relation("childTag") parentTagsOnTags TagsOnTags[] @relation("parentTag") } model TagsOnTags { parentTagId String parentTag Tag @relation(fields: [parentTagId], references: [id], "parentTag") childTagId String childTag Tag @relation(fields: [childTagId], references: [id], "childTag") @@id([parentTagId, childTagId]) } model User { id String @id @default(cuid()) schemas Schema[] gameSystems GameSystem[] publications Publication[] username String email String @unique }