From 4bfbac664915be1ddcbaf88bdc9bd9465e4f4221 Mon Sep 17 00:00:00 2001 From: Alex van Andel Date: Tue, 26 Mar 2024 23:33:15 +0000 Subject: [PATCH] feat: Migrate all old avatars to 'avatars' table (#14170) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Omar López --- .../migration.sql | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 packages/prisma/migrations/20240321143215_move_avatars_cols_to_avatar_table/migration.sql 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