diff --git a/packages/nocodb/src/lib/version-upgrader/ncAttachmentUpgrader.ts b/packages/nocodb/src/lib/version-upgrader/ncAttachmentUpgrader.ts index a66cae4359..e835ed9606 100644 --- a/packages/nocodb/src/lib/version-upgrader/ncAttachmentUpgrader.ts +++ b/packages/nocodb/src/lib/version-upgrader/ncAttachmentUpgrader.ts @@ -6,6 +6,7 @@ import Model from '../models/Model'; import { XKnex } from '../db/sql-data-mapper/index'; import NcConnectionMgrv2 from '../utils/common/NcConnectionMgrv2'; import { BaseType, UITypes } from 'nocodb-sdk'; +import { throwTimeoutError } from './ncUpgradeErrors'; // before 0.103.0, an attachment object was like // [{ @@ -68,6 +69,12 @@ export default async function ({ ncMeta }: NcUpgraderCtx) { : NcConnectionMgrv2.get(base); const models = await base.getModels(ncMeta); + // used in timeout error message + const timeoutErrorInfo = { + projectTitle: project.title, + connection: knex.client.config.connection, + }; + for (const model of models) { try { // if the table is missing in database, skip @@ -168,6 +175,9 @@ export default async function ({ ncMeta }: NcUpgraderCtx) { } await Promise.all(updateRecords); } catch (e) { + // throw the custom timeout error message if applicable + throwTimeoutError(e, timeoutErrorInfo); + // ignore the error related to deleted project if (!isProjectDeleted) { throw e; diff --git a/packages/nocodb/src/lib/version-upgrader/ncAttachmentUpgrader_0104002.ts b/packages/nocodb/src/lib/version-upgrader/ncAttachmentUpgrader_0104002.ts index 3531b296c9..7843329cdf 100644 --- a/packages/nocodb/src/lib/version-upgrader/ncAttachmentUpgrader_0104002.ts +++ b/packages/nocodb/src/lib/version-upgrader/ncAttachmentUpgrader_0104002.ts @@ -6,6 +6,7 @@ import Model from '../models/Model'; import { XKnex } from '../db/sql-data-mapper/index'; import NcConnectionMgrv2 from '../utils/common/NcConnectionMgrv2'; import { BaseType, UITypes } from 'nocodb-sdk'; +import { throwTimeoutError } from './ncUpgradeErrors'; // after 0101002 upgrader, the attachment object would become broken when // (1) switching views after updating a singleSelect field @@ -60,6 +61,12 @@ export default async function ({ ncMeta }: NcUpgraderCtx) { : NcConnectionMgrv2.get(base); const models = await base.getModels(ncMeta); + // used in timeout error message + const timeoutErrorInfo = { + projectTitle: project.title, + connection: knex.client.config.connection, + }; + for (const model of models) { try { // if the table is missing in database, skip @@ -149,6 +156,9 @@ export default async function ({ ncMeta }: NcUpgraderCtx) { } await Promise.all(updateRecords); } catch (e) { + // throw the custom timeout error message if applicable + throwTimeoutError(e, timeoutErrorInfo); + // ignore the error related to deleted project if (!isProjectDeleted) { throw e;