Moving the arttags table to tags table part 1

This commit is contained in:
2026-02-02 13:05:52 +01:00
parent 6680ccc023
commit 7605ccb0aa
27 changed files with 604 additions and 107 deletions

View File

@ -54,6 +54,7 @@ model Artwork {
categories ArtCategory[]
colors ArtworkColor[]
tags ArtTag[]
tagsV2 Tag[] @relation("ArtworkTagsV2")
variants FileVariant[]
@@index([colorStatus])
@ -102,6 +103,7 @@ model ArtCategory {
artworks Artwork[]
tags ArtTag[]
tagLinks TagCategory[]
}
model ArtTag {
@ -126,6 +128,63 @@ model ArtTag {
children ArtTag[] @relation("TagHierarchy")
}
model Tag {
id String @id @default(cuid())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
sortIndex Int @default(0)
name String @unique
slug String @unique
isVisible Boolean @default(true)
description String?
aliases TagAlias[]
categoryLinks TagCategory[]
categoryParents TagCategory[] @relation("TagCategoryParent")
artworks Artwork[] @relation("ArtworkTagsV2")
commissionTypes CommissionType[] @relation("CommissionTypeTags")
miniatures Miniature[] @relation("MiniatureTags")
}
model TagAlias {
id String @id @default(cuid())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
alias String @unique
tagId String
tag Tag @relation(fields: [tagId], references: [id], onDelete: Cascade)
@@unique([tagId, alias])
@@index([alias])
}
model TagCategory {
id String @id @default(cuid())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
tagId String
categoryId String
isParent Boolean @default(false)
showOnAnimalPage Boolean @default(false)
parentTagId String?
tag Tag @relation(fields: [tagId], references: [id], onDelete: Cascade)
category ArtCategory @relation(fields: [categoryId], references: [id], onDelete: Cascade)
parentTag Tag? @relation("TagCategoryParent", fields: [parentTagId], references: [id], onDelete: SetNull)
@@unique([tagId, categoryId])
@@index([categoryId])
@@index([tagId])
@@index([parentTagId])
@@index([categoryId, parentTagId])
}
model ArtTagAlias {
id String @id @default(cuid())
createdAt DateTime @default(now())
@ -140,6 +199,14 @@ model ArtTagAlias {
@@index([alias])
}
model Miniature {
id String @id @default(cuid())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
tags Tag[] @relation("MiniatureTags")
}
model Color {
id String @id @default(cuid())
createdAt DateTime @default(now())
@ -265,6 +332,8 @@ model CommissionType {
description String?
tags Tag[] @relation("CommissionTypeTags")
options CommissionTypeOption[]
extras CommissionTypeExtra[]
customInputs CommissionTypeCustomInput[]