34 lines
1.5 KiB
MySQL
34 lines
1.5 KiB
MySQL
|
|
-- CreateTable
|
||
|
|
CREATE TABLE "organization_invitations" (
|
||
|
|
"id" TEXT NOT NULL,
|
||
|
|
"inviterOrganizationId" TEXT NOT NULL,
|
||
|
|
"inviterUserId" TEXT NOT NULL,
|
||
|
|
"invitedOrganizationId" TEXT,
|
||
|
|
"invitedOrganizationName" TEXT NOT NULL,
|
||
|
|
"invitedOwnerEmail" TEXT NOT NULL,
|
||
|
|
"invitedOrganizationType" TEXT NOT NULL,
|
||
|
|
"tokenHash" TEXT NOT NULL,
|
||
|
|
"expiresAt" TIMESTAMP(3) NOT NULL,
|
||
|
|
"acceptedAt" TIMESTAMP(3),
|
||
|
|
"revokedAt" TIMESTAMP(3),
|
||
|
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||
|
|
|
||
|
|
CONSTRAINT "organization_invitations_pkey" PRIMARY KEY ("id")
|
||
|
|
);
|
||
|
|
|
||
|
|
-- CreateIndex
|
||
|
|
CREATE UNIQUE INDEX "organization_invitations_tokenHash_key" ON "organization_invitations"("tokenHash");
|
||
|
|
|
||
|
|
-- CreateIndex
|
||
|
|
CREATE INDEX "organization_invitations_inviterOrganizationId_createdAt_idx" ON "organization_invitations"("inviterOrganizationId", "createdAt");
|
||
|
|
|
||
|
|
-- CreateIndex
|
||
|
|
CREATE INDEX "organization_invitations_invitedOwnerEmail_createdAt_idx" ON "organization_invitations"("invitedOwnerEmail", "createdAt");
|
||
|
|
|
||
|
|
-- AddForeignKey
|
||
|
|
ALTER TABLE "organization_invitations" ADD CONSTRAINT "organization_invitations_inviterOrganizationId_fkey" FOREIGN KEY ("inviterOrganizationId") REFERENCES "organizations"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||
|
|
|
||
|
|
-- AddForeignKey
|
||
|
|
ALTER TABLE "organization_invitations" ADD CONSTRAINT "organization_invitations_inviterUserId_fkey" FOREIGN KEY ("inviterUserId") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|