Files
2026-05-09 23:12:11 -06:00

36 lines
1.3 KiB
SQL

-- CreateTable
CREATE TABLE "RuleStakeholder" (
"id" TEXT NOT NULL,
"ruleId" TEXT NOT NULL,
"email" TEXT NOT NULL,
"invitedByUserId" TEXT,
"userId" TEXT,
"inviteTokenHash" TEXT,
"inviteExpiresAt" TIMESTAMP(3),
"invitedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"acceptedAt" TIMESTAMP(3),
CONSTRAINT "RuleStakeholder_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "RuleStakeholder_inviteTokenHash_key" ON "RuleStakeholder"("inviteTokenHash");
-- CreateIndex
CREATE INDEX "RuleStakeholder_userId_idx" ON "RuleStakeholder"("userId");
-- CreateIndex
CREATE INDEX "RuleStakeholder_email_idx" ON "RuleStakeholder"("email");
-- CreateIndex
CREATE UNIQUE INDEX "RuleStakeholder_ruleId_email_key" ON "RuleStakeholder"("ruleId", "email");
-- AddForeignKey
ALTER TABLE "RuleStakeholder" ADD CONSTRAINT "RuleStakeholder_ruleId_fkey" FOREIGN KEY ("ruleId") REFERENCES "PublishedRule"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "RuleStakeholder" ADD CONSTRAINT "RuleStakeholder_invitedByUserId_fkey" FOREIGN KEY ("invitedByUserId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "RuleStakeholder" ADD CONSTRAINT "RuleStakeholder_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;