From 5d4138470843a3ed95be6562ba2f0cba08939ae9 Mon Sep 17 00:00:00 2001 From: Johann150 Date: Thu, 18 Aug 2022 18:26:17 +0200 Subject: [PATCH] fix: await promises in migration --- .../migration/1659335999000-pages-to-plaintext.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/backend/migration/1659335999000-pages-to-plaintext.js b/packages/backend/migration/1659335999000-pages-to-plaintext.js index c8e4efc83..2f0a2f194 100644 --- a/packages/backend/migration/1659335999000-pages-to-plaintext.js +++ b/packages/backend/migration/1659335999000-pages-to-plaintext.js @@ -19,16 +19,16 @@ export class pagesToPlaintext1659335999000 { async function convertBlock(block) { switch (block.type) { case 'note': - if (block.note) return noteUrl(block.note); + if (block.note) return await noteUrl(block.note); else break; case 'section': - return block.children.map(convertBlock).join('\n'); + return (await Promise.all(block.children.map(convertBlock))).join('\n'); case 'text': return block.text; case 'textarea': return '```\n' + block.text + '```'; case 'image': - if (block.fileId) return '![image](' + fileUrl(block.fileId) + ')'; + if (block.fileId) return '![image](' + await fileUrl(block.fileId) + ')'; else break; case 'if': // no idea how to convert these case 'post': // new note form, why? @@ -48,9 +48,10 @@ export class pagesToPlaintext1659335999000 { await queryRunner.query(`SELECT id, "content" FROM "page"`) .then(pages => Promise.all(pages.map(page => { - let text = page.content.map(convertBlock).join('\n'); - - return queryRunner.query(`UPDATE "page" SET "text" = $1 WHERE "id" = $2`, [text, page.id]); + return Promise.all(page.content.map(convertBlock)) + .then(texts => { + queryRunner.query(`UPDATE "page" SET "text" = $1 WHERE "id" = $2`, [texts.join('\n'), page.id]); + }); }))); await queryRunner.query(`ALTER TABLE "page" DROP COLUMN "content"`);