enables schema saving in db, initial refactor of db schema for revisions
This commit is contained in:
@@ -1,9 +1,3 @@
|
||||
// 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"
|
||||
}
|
||||
@@ -31,24 +25,53 @@ model Schema {
|
||||
author User @relation(fields: [authorId], references: [id])
|
||||
authorId String
|
||||
|
||||
originalId String?
|
||||
name String
|
||||
schema Json
|
||||
types Json
|
||||
version Int
|
||||
name String
|
||||
|
||||
SchemaRevision SchemaRevision[]
|
||||
}
|
||||
|
||||
model SchemaRevision {
|
||||
id String @id @default(cuid())
|
||||
schemaId String
|
||||
parentSchema Schema @relation(fields: [schemaId], references: [id])
|
||||
|
||||
schema Json
|
||||
types Json
|
||||
version Int
|
||||
Publication Publication[]
|
||||
|
||||
@@unique([schemaId, version])
|
||||
}
|
||||
|
||||
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
|
||||
id String @id @default(cuid())
|
||||
schema Schema @relation(fields: [schemaId], references: [id])
|
||||
schemaId String
|
||||
schemaVersion Int
|
||||
schemaRevision SchemaRevision @relation(fields: [schemaVersion, schemaId], references: [version, schemaId])
|
||||
tags Tag[]
|
||||
|
||||
name String
|
||||
data Json
|
||||
TagsOnPublications TagsOnPublications[]
|
||||
name String
|
||||
|
||||
TagsOnPublications TagsOnPublications[]
|
||||
PublicationRevision PublicationRevision[]
|
||||
}
|
||||
|
||||
model PublicationRevision {
|
||||
id String @id @default(cuid())
|
||||
version String
|
||||
isFinal Boolean
|
||||
data Json
|
||||
|
||||
previousId String?
|
||||
publicationId String
|
||||
publication Publication @relation(fields: [publicationId], references: [id])
|
||||
previousRevision PublicationRevision? @relation(name: "downlineRevisions", fields: [previousId], references: [id])
|
||||
downlineRevisions PublicationRevision[] @relation("downlineRevisions")
|
||||
author User @relation(fields: [authorId], references: [id])
|
||||
authorId String
|
||||
|
||||
@@unique([publicationId, version])
|
||||
}
|
||||
|
||||
model TagsOnPublications {
|
||||
@@ -80,10 +103,9 @@ model TagsOnTags {
|
||||
}
|
||||
|
||||
model User {
|
||||
id String @id @default(cuid())
|
||||
schemas Schema[]
|
||||
gameSystems GameSystem[]
|
||||
publications Publication[]
|
||||
id String @id @default(cuid())
|
||||
schemas Schema[]
|
||||
gameSystems GameSystem[]
|
||||
|
||||
name String?
|
||||
username String? @unique
|
||||
@@ -94,8 +116,9 @@ model User {
|
||||
accounts Account[]
|
||||
sessions Session[]
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
PublicationRevision PublicationRevision[]
|
||||
}
|
||||
|
||||
model Account {
|
||||
|
Reference in New Issue
Block a user