From ed6eee47f36523988b33de24db80f88d81888f20 Mon Sep 17 00:00:00 2001 From: Dragory <2606411+Dragory@users.noreply.github.com> Date: Fri, 3 May 2019 22:36:49 +0300 Subject: [PATCH] Username migration tweaks --- ...09512501-MigrateUsernamesToNewHistoryTable.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/migrations/1556909512501-MigrateUsernamesToNewHistoryTable.ts b/src/migrations/1556909512501-MigrateUsernamesToNewHistoryTable.ts index 3dc56aba..1a2ae838 100644 --- a/src/migrations/1556909512501-MigrateUsernamesToNewHistoryTable.ts +++ b/src/migrations/1556909512501-MigrateUsernamesToNewHistoryTable.ts @@ -9,6 +9,14 @@ export class MigrateUsernamesToNewHistoryTable1556909512501 implements Migration const migratedUsernames = new Set(); + await new Promise(async resolve => { + const stream = await queryRunner.stream("SELECT CONCAT(user_id, '-', username) AS `key` FROM username_history"); + stream.on("result", row => { + migratedUsernames.add(row.key); + }); + stream.on("end", resolve); + }); + const migrateNextBatch = (): Promise<{ finished: boolean; migrated?: number }> => { return new Promise(async resolve => { const toInsert = []; @@ -19,10 +27,12 @@ export class MigrateUsernamesToNewHistoryTable1556909512501 implements Migration ); stream.on("result", row => { const key = `${row.user_id}-${row.value}`; - if (migratedUsernames.has(key)) return; - migratedUsernames.add(key); - toInsert.push([row.user_id, row.value, row.timestamp]); + if (!migratedUsernames.has(key)) { + migratedUsernames.add(key); + toInsert.push([row.user_id, row.value, row.timestamp]); + } + toDelete.push(row.id); }); stream.on("end", async () => {