43 lines
1.4 KiB
SQL
43 lines
1.4 KiB
SQL
-- AlterTable
|
|
ALTER TABLE "User" ADD COLUMN "email_verification_expires_at" TIMESTAMP(3),
|
|
ADD COLUMN "email_verification_token" TEXT,
|
|
ADD COLUMN "email_verified_at" TIMESTAMP(3);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "org_invites" (
|
|
"id" TEXT NOT NULL,
|
|
"org_id" TEXT NOT NULL,
|
|
"email" TEXT NOT NULL,
|
|
"role" TEXT NOT NULL DEFAULT 'MEMBER',
|
|
"token" TEXT NOT NULL,
|
|
"invited_by" TEXT,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"expires_at" TIMESTAMP(3) NOT NULL,
|
|
"accepted_at" TIMESTAMP(3),
|
|
"revoked_at" TIMESTAMP(3),
|
|
|
|
CONSTRAINT "org_invites_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "org_invites_token_key" ON "org_invites"("token");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "org_invites_org_id_idx" ON "org_invites"("org_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "org_invites_org_id_email_idx" ON "org_invites"("org_id", "email");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "org_invites_expires_at_idx" ON "org_invites"("expires_at");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "User_email_verification_token_key" ON "User"("email_verification_token");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "org_invites" ADD CONSTRAINT "org_invites_org_id_fkey" FOREIGN KEY ("org_id") REFERENCES "Org"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "org_invites" ADD CONSTRAINT "org_invites_invited_by_fkey" FOREIGN KEY ("invited_by") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|