Add sub-categories to affirmation categories

Add self-referential parent/child relation on AffirmationCategory for
   one-level hierarchy. Update AffirmationForm with two-level category and
   sub-category dropdowns, server actions with find-or-create hierarchy
   logic, AffirmationList with Parent
This commit is contained in:
NeilClack
2026-02-23 10:53:15 -06:00
parent a230a1e36d
commit 3c201f9b66
14 changed files with 573 additions and 64 deletions
@@ -0,0 +1,5 @@
-- AlterTable
ALTER TABLE "AffirmationCategory" ADD COLUMN "parentId" INTEGER;
-- AddForeignKey
ALTER TABLE "AffirmationCategory" ADD CONSTRAINT "AffirmationCategory_parentId_fkey" FOREIGN KEY ("parentId") REFERENCES "AffirmationCategory"("id") ON DELETE SET NULL ON UPDATE CASCADE;
+5 -2
View File
@@ -128,8 +128,11 @@ model SolfeggioFrequency {
}
model AffirmationCategory {
id Int @id @default(autoincrement())
name String @unique
id Int @id @default(autoincrement())
name String @unique
parentId Int?
parent AffirmationCategory? @relation("CategoryHierarchy", fields: [parentId], references: [id])
children AffirmationCategory[] @relation("CategoryHierarchy")
affirmations Affirmation[]
}