diff --git a/packages/prisma/migrations/20240606060033_add_public_profiles/migration.sql b/packages/prisma/migrations/20240606060033_add_public_profiles/migration.sql new file mode 100644 index 000000000..6302ba6e5 --- /dev/null +++ b/packages/prisma/migrations/20240606060033_add_public_profiles/migration.sql @@ -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;