From 4a268a13c34ea1579862292094b21c0bc7cb33de Mon Sep 17 00:00:00 2001 From: JPark1023 Date: Wed, 4 Mar 2026 10:41:07 -0600 Subject: [PATCH] Add ResourceEmbedding prisma table --- backend/prisma/schema.prisma | 50 ++++++++++++++++++++++++------------ 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/backend/prisma/schema.prisma b/backend/prisma/schema.prisma index b362907..5457af1 100644 --- a/backend/prisma/schema.prisma +++ b/backend/prisma/schema.prisma @@ -1,11 +1,13 @@ generator client { - provider = "prisma-client-js" + provider = "prisma-client-js" + previewFeatures = ["postgresqlExtensions"] } datasource db { - provider = "postgresql" - url = env("DATABASE_URL") - directUrl = env("DIRECT_URL") + provider = "postgresql" + url = env("DATABASE_URL") + directUrl = env("DIRECT_URL") + extensions = [pgvector(map: "vector", schema: "extensions")] } enum RESOURCE_TYPE { @@ -75,7 +77,8 @@ model Resource { externalResources ExternalResources? collectionItems CollectionItem[] internalResource InternalHostedResources? - image_s3_key String? + image_s3_key String? + ResourceEmbedding ResourceEmbedding? @@map("resource") } @@ -84,7 +87,7 @@ model ResourceLabel { id String @id @default(cuid()) resource_id String label_id String - resource Resource @relation(fields: [resource_id], references: [id], onDelete:Cascade) + resource Resource @relation(fields: [resource_id], references: [id], onDelete: Cascade) label CategoryLabel @relation(fields: [label_id], references: [id]) @@unique([resource_id, label_id]) @@ -100,6 +103,20 @@ model ExternalResources { @@map("externalResources") } +model ResourceEmbedding { + id String @id @default(cuid()) + resource_id String @unique + embedding Unsupported("vector(1536)") + dims Int @default(1536) + chunk_text String + chunk_index Int + created_at DateTime @default(now()) + updated_at DateTime @updatedAt + resource Resource @relation(fields: [resource_id], references: [id], onDelete: Cascade) + + @@map("resourceEmbedding") +} + enum RELATIONSHIP_TYPE { MOTHER FATHER @@ -119,11 +136,11 @@ enum HOUSEHOLD_TYPE { } model Parent { - id String @id @default(cuid()) - clerk_id String @unique + id String @id @default(cuid()) + clerk_id String @unique first_name String? last_name String? - email String @unique + email String @unique relationship RELATIONSHIP_TYPE? household_type HOUSEHOLD_TYPE? @@ -131,12 +148,12 @@ model Parent { kids_age_groups AGE_GROUP[] subscribed_newsletter Boolean @default(false) - created_at DateTime @default(now()) - updated_at DateTime @updatedAt - onboarding_complete Boolean @default(false) + created_at DateTime @default(now()) + updated_at DateTime @updatedAt + onboarding_complete Boolean @default(false) + collections Collection[] - collections Collection[] @@map("parent") } @@ -147,8 +164,8 @@ model Collection { created_at DateTime @default(now()) updated_at DateTime @updatedAt - parent Parent @relation(fields: [parent_fk], references: [id], onDelete: Cascade) - items CollectionItem[] + parent Parent @relation(fields: [parent_fk], references: [id], onDelete: Cascade) + items CollectionItem[] @@unique([parent_fk, name]) @@map("collection") @@ -176,7 +193,6 @@ model InternalHostedResources { @@map("internalHostedResources") } - model AdminUser { id String @id @default(cuid()) clerk_id String @unique @@ -203,4 +219,4 @@ model AdminLog { @@index([admin_fk]) @@map("adminlog") -} \ No newline at end of file +}