Files
documenso/packages/prisma/migrations/20250425034324_asdfasdfasdf/migration.sql
David Nguyen 7abfc9e271 fix: wip
2025-05-07 15:03:20 +10:00

239 lines
9.1 KiB
SQL

/*
Warnings:
- You are about to drop the column `teamId` on the `Subscription` table. All the data in the column will be lost.
- You are about to drop the column `userId` on the `Subscription` table. All the data in the column will be lost.
- You are about to drop the column `customerId` on the `Team` table. All the data in the column will be lost.
- You are about to drop the column `ownerUserId` on the `Team` table. All the data in the column will be lost.
- You are about to drop the column `url` on the `User` table. All the data in the column will be lost.
- You are about to drop the `TeamMember` table. If the table is not empty, all the data it contains will be lost.
- You are about to drop the `TeamMemberInvite` table. If the table is not empty, all the data it contains will be lost.
- You are about to drop the `TeamTransferVerification` table. If the table is not empty, all the data it contains will be lost.
- Made the column `teamId` on table `Document` required. This step will fail if there are existing NULL values in that column.
- Added the required column `organisationId` to the `Subscription` table without a default value. This is not possible if the table is not empty.
- Added the required column `organisationId` to the `Team` table without a default value. This is not possible if the table is not empty.
- Made the column `teamId` on table `Template` required. This step will fail if there are existing NULL values in that column.
*/
-- CreateEnum
CREATE TYPE "OrganisationGroupType" AS ENUM ('INTERNAL_ORGANISATION', 'INTERNAL_TEAM', 'CUSTOM');
-- CreateEnum
CREATE TYPE "OrganisationMemberRole" AS ENUM ('ADMIN', 'MANAGER', 'MEMBER');
-- CreateEnum
CREATE TYPE "OrganisationMemberInviteStatus" AS ENUM ('ACCEPTED', 'PENDING', 'DECLINED');
-- DropForeignKey
ALTER TABLE "Document" DROP CONSTRAINT "Document_teamId_fkey";
-- DropForeignKey
ALTER TABLE "Subscription" DROP CONSTRAINT "Subscription_teamId_fkey";
-- DropForeignKey
ALTER TABLE "Subscription" DROP CONSTRAINT "Subscription_userId_fkey";
-- DropForeignKey
ALTER TABLE "Team" DROP CONSTRAINT "Team_ownerUserId_fkey";
-- DropForeignKey
ALTER TABLE "TeamMember" DROP CONSTRAINT "TeamMember_teamId_fkey";
-- DropForeignKey
ALTER TABLE "TeamMember" DROP CONSTRAINT "TeamMember_userId_fkey";
-- DropForeignKey
ALTER TABLE "TeamMemberInvite" DROP CONSTRAINT "TeamMemberInvite_teamId_fkey";
-- DropForeignKey
ALTER TABLE "TeamTransferVerification" DROP CONSTRAINT "TeamTransferVerification_teamId_fkey";
-- DropIndex
DROP INDEX "Subscription_teamId_key";
-- DropIndex
DROP INDEX "Subscription_userId_idx";
-- DropIndex
DROP INDEX "Team_customerId_key";
-- DropIndex
DROP INDEX "User_url_key";
-- AlterTable
ALTER TABLE "ApiToken" ADD COLUMN "organisationId" TEXT;
-- AlterTable
ALTER TABLE "Document" ALTER COLUMN "teamId" SET NOT NULL;
-- AlterTable
ALTER TABLE "Subscription" DROP COLUMN "teamId",
DROP COLUMN "userId",
ADD COLUMN "organisationId" TEXT NOT NULL;
-- AlterTable
ALTER TABLE "Team" DROP COLUMN "customerId",
DROP COLUMN "ownerUserId",
ADD COLUMN "organisationId" TEXT NOT NULL;
-- AlterTable
ALTER TABLE "Template" ALTER COLUMN "teamId" SET NOT NULL;
-- AlterTable
ALTER TABLE "User" DROP COLUMN "url";
-- AlterTable
ALTER TABLE "Webhook" ADD COLUMN "organisationId" TEXT;
-- DropTable
DROP TABLE "TeamMember";
-- DropTable
DROP TABLE "TeamMemberInvite";
-- DropTable
DROP TABLE "TeamTransferVerification";
-- DropEnum
DROP TYPE "TeamMemberInviteStatus";
-- CreateTable
CREATE TABLE "Organisation" (
"id" TEXT NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,
"name" TEXT NOT NULL,
"url" TEXT NOT NULL,
"avatarImageId" TEXT,
"customerId" TEXT,
"ownerUserId" INTEGER NOT NULL,
CONSTRAINT "Organisation_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "OrganisationMember" (
"id" TEXT NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,
"userId" INTEGER NOT NULL,
"organisationId" TEXT NOT NULL,
CONSTRAINT "OrganisationMember_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "OrganisationMemberInvite" (
"id" TEXT NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"email" TEXT NOT NULL,
"token" TEXT NOT NULL,
"groupIds" TEXT[],
"status" "OrganisationMemberInviteStatus" NOT NULL DEFAULT 'PENDING',
"organisationId" TEXT NOT NULL,
"organisationRole" "OrganisationMemberRole" NOT NULL,
"teamId" INTEGER,
"teamRole" "TeamMemberRole",
CONSTRAINT "OrganisationMemberInvite_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "OrganisationGroup" (
"id" TEXT NOT NULL,
"name" TEXT,
"type" "OrganisationGroupType" NOT NULL,
"organisationRole" "OrganisationMemberRole" NOT NULL,
"organisationId" TEXT NOT NULL,
CONSTRAINT "OrganisationGroup_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "OrganisationGroupMember" (
"id" TEXT NOT NULL,
"groupId" TEXT NOT NULL,
"organisationMemberId" TEXT,
CONSTRAINT "OrganisationGroupMember_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "TeamGroup" (
"id" TEXT NOT NULL,
"organisationGroupId" TEXT NOT NULL,
"teamRole" "TeamMemberRole" NOT NULL,
"teamId" INTEGER NOT NULL,
CONSTRAINT "TeamGroup_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "Organisation_url_key" ON "Organisation"("url");
-- CreateIndex
CREATE UNIQUE INDEX "Organisation_customerId_key" ON "Organisation"("customerId");
-- CreateIndex
CREATE UNIQUE INDEX "OrganisationMember_userId_organisationId_key" ON "OrganisationMember"("userId", "organisationId");
-- CreateIndex
CREATE UNIQUE INDEX "OrganisationMemberInvite_token_key" ON "OrganisationMemberInvite"("token");
-- CreateIndex
CREATE UNIQUE INDEX "OrganisationGroupMember_organisationMemberId_groupId_key" ON "OrganisationGroupMember"("organisationMemberId", "groupId");
-- CreateIndex
CREATE INDEX "Subscription_organisationId_idx" ON "Subscription"("organisationId");
-- CreateIndex
CREATE INDEX "Template_userId_idx" ON "Template"("userId");
-- AddForeignKey
ALTER TABLE "Webhook" ADD CONSTRAINT "Webhook_organisationId_fkey" FOREIGN KEY ("organisationId") REFERENCES "Organisation"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "ApiToken" ADD CONSTRAINT "ApiToken_organisationId_fkey" FOREIGN KEY ("organisationId") REFERENCES "Organisation"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "Subscription" ADD CONSTRAINT "Subscription_organisationId_fkey" FOREIGN KEY ("organisationId") REFERENCES "Organisation"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "Document" ADD CONSTRAINT "Document_teamId_fkey" FOREIGN KEY ("teamId") REFERENCES "Team"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "Organisation" ADD CONSTRAINT "Organisation_avatarImageId_fkey" FOREIGN KEY ("avatarImageId") REFERENCES "AvatarImage"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "Organisation" ADD CONSTRAINT "Organisation_ownerUserId_fkey" FOREIGN KEY ("ownerUserId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "OrganisationMember" ADD CONSTRAINT "OrganisationMember_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "OrganisationMember" ADD CONSTRAINT "OrganisationMember_organisationId_fkey" FOREIGN KEY ("organisationId") REFERENCES "Organisation"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "OrganisationMemberInvite" ADD CONSTRAINT "OrganisationMemberInvite_organisationId_fkey" FOREIGN KEY ("organisationId") REFERENCES "Organisation"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "OrganisationMemberInvite" ADD CONSTRAINT "OrganisationMemberInvite_teamId_fkey" FOREIGN KEY ("teamId") REFERENCES "Team"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "OrganisationGroup" ADD CONSTRAINT "OrganisationGroup_organisationId_fkey" FOREIGN KEY ("organisationId") REFERENCES "Organisation"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "OrganisationGroupMember" ADD CONSTRAINT "OrganisationGroupMember_groupId_fkey" FOREIGN KEY ("groupId") REFERENCES "OrganisationGroup"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "OrganisationGroupMember" ADD CONSTRAINT "OrganisationGroupMember_organisationMemberId_fkey" FOREIGN KEY ("organisationMemberId") REFERENCES "OrganisationMember"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "TeamGroup" ADD CONSTRAINT "TeamGroup_organisationGroupId_fkey" FOREIGN KEY ("organisationGroupId") REFERENCES "OrganisationGroup"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "TeamGroup" ADD CONSTRAINT "TeamGroup_teamId_fkey" FOREIGN KEY ("teamId") REFERENCES "Team"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "Team" ADD CONSTRAINT "Team_organisationId_fkey" FOREIGN KEY ("organisationId") REFERENCES "Organisation"("id") ON DELETE CASCADE ON UPDATE CASCADE;