diff --git a/packages/prisma/migrations/20240321143215_move_avatars_cols_to_avatar_table/migration.sql b/packages/prisma/migrations/20240321143215_move_avatars_cols_to_avatar_table/migration.sql new file mode 100644 index 0000000000..80028d04ac --- /dev/null +++ b/packages/prisma/migrations/20240321143215_move_avatars_cols_to_avatar_table/migration.sql @@ -0,0 +1,39 @@ +BEGIN; + +WITH inserted_avatars AS ( + SELECT u."id", u."avatar" as "data", gen_random_uuid() AS "objectKey" + FROM "users" u WHERE u."avatar" IS NOT NULL AND u."avatar" != '' +), +inserted AS ( + INSERT INTO "avatars" ("userId", "data", "objectKey", "teamId") + SELECT "id", "data", "objectKey", 0 AS "teamId" + FROM inserted_avatars + ON CONFLICT ("teamId", "userId", "isBanner") DO NOTHING + RETURNING "userId", "objectKey" +) +UPDATE "users" u +SET "avatarUrl" = '/api/avatar/' || i."objectKey" || '.png' +FROM inserted i +WHERE u."id" = i."userId"; + +COMMIT; + +BEGIN; + +WITH inserted_avatars AS ( + SELECT t."id", t."logo" as "data", gen_random_uuid() AS "objectKey" + FROM "Team" t WHERE t."logo" IS NOT NULL AND t."logo" != '' +), +inserted AS ( + INSERT INTO "avatars" ("teamId", "data", "objectKey", "userId") + SELECT "id", "data", "objectKey", 0 AS "userId" + FROM inserted_avatars + ON CONFLICT ("teamId", "userId", "isBanner") DO NOTHING + RETURNING "teamId", "objectKey" +) +UPDATE "Team" t +SET "logoUrl" = '/api/avatar/' || i."objectKey" || '.png' +FROM inserted i +WHERE t."id" = i."teamId"; + +COMMIT; \ No newline at end of file