mirror of
https://github.com/documenso/documenso.git
synced 2025-11-24 13:41:30 +10:00
239 lines
9.1 KiB
SQL
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;
|