fix: add migration

This commit is contained in:
David Nguyen
2024-06-06 16:58:37 +10:00
parent 5514dad4d8
commit 6e4a4c38a1

View File

@ -0,0 +1,62 @@
/*
Warnings:
- The primary key for the `UserProfile` table will be changed. If it partially fails, the table could be left without primary key constraint.
- A unique constraint covering the columns `[userId]` on the table `UserProfile` will be added. If there are existing duplicate values, this will fail.
- Added the required column `userId` to the `UserProfile` table without a default value. This is not possible if the table is not empty.
*/
-- Custom (Drop duplicate)
UPDATE "User"
SET "User"."url" = NULL
WHERE "User"."url" IN (
SELECT "UserTeamUrl"."url"
FROM (
SELECT "url"
FROM "User"
WHERE "User"."url" IS NOT null
UNION ALL
SELECT "url"
FROM "Team"
WHERE "Team"."url" IS NOT null
) as "UserTeamUrl"
GROUP BY "UserTeamUrl"."url"
HAVING COUNT("UserTeamUrl"."url") > 1
);
-- DropForeignKey
ALTER TABLE "UserProfile" DROP CONSTRAINT "UserProfile_id_fkey";
-- AlterTable
ALTER TABLE "Template" ADD COLUMN "publicDescription" TEXT NOT NULL DEFAULT '',
ADD COLUMN "publicTitle" TEXT NOT NULL DEFAULT '';
-- AlterTable
ALTER TABLE "UserProfile" DROP CONSTRAINT "UserProfile_pkey",
ADD COLUMN "enabled" BOOLEAN NOT NULL DEFAULT false,
ADD COLUMN "userId" INTEGER NOT NULL,
ALTER COLUMN "id" SET DATA TYPE TEXT,
ADD CONSTRAINT "UserProfile_pkey" PRIMARY KEY ("id");
-- CreateTable
CREATE TABLE "TeamProfile" (
"id" TEXT NOT NULL,
"enabled" BOOLEAN NOT NULL DEFAULT false,
"teamId" INTEGER NOT NULL,
"bio" TEXT,
CONSTRAINT "TeamProfile_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE UNIQUE INDEX "TeamProfile_teamId_key" ON "TeamProfile"("teamId");
-- CreateIndex
CREATE UNIQUE INDEX "UserProfile_userId_key" ON "UserProfile"("userId");
-- AddForeignKey
ALTER TABLE "UserProfile" ADD CONSTRAINT "UserProfile_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "TeamProfile" ADD CONSTRAINT "TeamProfile_teamId_fkey" FOREIGN KEY ("teamId") REFERENCES "Team"("id") ON DELETE CASCADE ON UPDATE CASCADE;