/* 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 "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 ); -- Custom (Drop existing profiles since they're not used) DELETE FROM "UserProfile"; -- 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;