diff --git a/src/backend/src/prisma/migrations/20260116231727_guest_page_additions/migration.sql b/src/backend/src/prisma/migrations/20260116231727_guest_page_additions/migration.sql new file mode 100644 index 0000000000..381fccd4f6 --- /dev/null +++ b/src/backend/src/prisma/migrations/20260116231727_guest_page_additions/migration.sql @@ -0,0 +1,28 @@ +-- AlterTable +ALTER TABLE "Sponsor" ADD COLUMN "logoImageId" TEXT; + +-- CreateTable +CREATE TABLE "Term_Definition" ( + "definitionId" TEXT NOT NULL, + "term" TEXT NOT NULL, + "description" TEXT NOT NULL, + "dateCreated" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "dateDeleted" TIMESTAMP(3), + "userDeletedId" TEXT, + "userCreatedId" TEXT NOT NULL, + "organizationId" TEXT NOT NULL, + + CONSTRAINT "Term_Definition_pkey" PRIMARY KEY ("definitionId") +); + +-- CreateIndex +CREATE INDEX "Term_Definition_organizationId_idx" ON "Term_Definition"("organizationId"); + +-- AddForeignKey +ALTER TABLE "Term_Definition" ADD CONSTRAINT "Term_Definition_userDeletedId_fkey" FOREIGN KEY ("userDeletedId") REFERENCES "User"("userId") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Term_Definition" ADD CONSTRAINT "Term_Definition_userCreatedId_fkey" FOREIGN KEY ("userCreatedId") REFERENCES "User"("userId") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Term_Definition" ADD CONSTRAINT "Term_Definition_organizationId_fkey" FOREIGN KEY ("organizationId") REFERENCES "Organization"("organizationId") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/src/backend/src/prisma/schema.prisma b/src/backend/src/prisma/schema.prisma index e5bd720945..9dba4a8c79 100644 --- a/src/backend/src/prisma/schema.prisma +++ b/src/backend/src/prisma/schema.prisma @@ -266,6 +266,8 @@ model User { deletedSponsorTiers Sponsor_Tier[] financeDelegateForOrganizations Organization[] @relation(name: "financeDelegates") assignedReimbursementRequests Reimbursement_Request[] @relation(name: "reimbursementRequestAssignee") + deletedTermDefinitions Term_Definition[] @relation(name: "termDefinitionDeleter") + createdtermDefinitions Term_Definition[] @relation(name: "termDefinitionCreator") } model Role { @@ -796,6 +798,7 @@ model Sponsor { activeYears Int[] taxExempt Boolean sponsorTasks Sponsor_Task[] + logoImageId String? @@unique([name, organizationId], name: "uniqueSponsor") @@index([sponsorTierId]) @@ -1218,6 +1221,7 @@ model Organization { sponsorTiers Sponsor_Tier[] indexCodes Index_Code[] financeDelegates User[] @relation(name: "financeDelegates") + termDefinitions Term_Definition[] } model FrequentlyAskedQuestion { @@ -1555,3 +1559,19 @@ model Reimbursement_Request_Comment { @@index([reimbursementRequestId]) } + +model Term_Definition { + definitionId String @id @default(uuid()) + term String + description String + dateCreated DateTime @default(now()) + dateDeleted DateTime? + userDeleted User? @relation(fields: [userDeletedId], references: [userId], name: "termDefinitionDeleter") + userDeletedId String? + userCreated User @relation(fields: [userCreatedId], references: [userId], name: "termDefinitionCreator") + userCreatedId String + organization Organization @relation(fields: [organizationId], references: [organizationId]) + organizationId String + + @@index([organizationId]) +}