diff --git a/packages/backend/server/src/data/migrations/1721299086340-refresh-unnamed-user.ts b/packages/backend/server/src/data/migrations/1721299086340-refresh-unnamed-user.ts index 3ab9737f2fa5..d007e0f9a5c4 100644 --- a/packages/backend/server/src/data/migrations/1721299086340-refresh-unnamed-user.ts +++ b/packages/backend/server/src/data/migrations/1721299086340-refresh-unnamed-user.ts @@ -1,25 +1,13 @@ -import { PrismaClient, User } from '@prisma/client'; +import { PrismaClient } from '@prisma/client'; export class RefreshUnnamedUser1721299086340 { // do the migration static async up(db: PrismaClient) { - await db.$transaction(async tx => { - // only find users with unnamed names - const users = await db.$queryRaw< - User[] - >`SELECT * FROM users WHERE name = 'Unnamed';`; - - await Promise.all( - users.map(({ id, email }) => - tx.user.update({ - where: { id }, - data: { - name: email.split('@')[0], - }, - }) - ) - ); - }); + await db.$executeRaw` + UPDATE users + SET name = split_part(email, '@', 1) + WHERE name = 'Unnamed' AND position('@' in email) > 0; + `; } // revert the migration