From e652af49affca8e4dab7949ab2ee49a377d00ae5 Mon Sep 17 00:00:00 2001 From: David Leek Date: Mon, 29 Jan 2024 08:07:33 +0100 Subject: [PATCH] chore: default the data migration flag for createdbyuserid to false (#6048) ## About the changes Sets data migration of features and events created_by_user_id to disabled by default Map to promise and await all in created by user id migration for features --- src/lib/__snapshots__/create-config.test.ts.snap | 2 +- src/lib/features/feature-toggle/feature-toggle-store.ts | 8 +++++--- src/lib/types/experimental.ts | 2 +- src/test/config/test-config.ts | 1 + 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/lib/__snapshots__/create-config.test.ts.snap b/src/lib/__snapshots__/create-config.test.ts.snap index 82af198625..f96b8c7962 100644 --- a/src/lib/__snapshots__/create-config.test.ts.snap +++ b/src/lib/__snapshots__/create-config.test.ts.snap @@ -79,7 +79,7 @@ exports[`should create default config 1`] = ` "caseInsensitiveInOperators": false, "celebrateUnleash": false, "changeRequestConflictHandling": false, - "createdByUserIdDataMigration": true, + "createdByUserIdDataMigration": false, "customRootRolesKillSwitch": false, "demo": false, "detectSegmentUsageInChangeRequests": false, diff --git a/src/lib/features/feature-toggle/feature-toggle-store.ts b/src/lib/features/feature-toggle/feature-toggle-store.ts index 29f048dbd7..980f0eb23b 100644 --- a/src/lib/features/feature-toggle/feature-toggle-store.ts +++ b/src/lib/features/feature-toggle/feature-toggle-store.ts @@ -746,15 +746,17 @@ export default class FeatureToggleStore implements IFeatureToggleStore { .limit(batchSize) .select(['f.*', 'ev.created_by', 'u.id', 't.username']); - toUpdate + const updatePromises = toUpdate .filter((row) => row.id || row.username) - .forEach(async (row) => { + .map((row) => { const id = row.id || ADMIN_TOKEN_USER.id; - await this.db(TABLE) + return this.db(TABLE) .update({ created_by_user_id: id }) .where({ name: row.name }); }); + + await Promise.all(updatePromises); } } diff --git a/src/lib/types/experimental.ts b/src/lib/types/experimental.ts index db00c234ae..29755623ba 100644 --- a/src/lib/types/experimental.ts +++ b/src/lib/types/experimental.ts @@ -225,7 +225,7 @@ const flags: IFlags = { }, createdByUserIdDataMigration: parseEnvVarBoolean( process.env.CREATED_BY_USERID_DATA_MIGRATION, - true, + false, ), }; diff --git a/src/test/config/test-config.ts b/src/test/config/test-config.ts index 4351eb3227..f337578b79 100644 --- a/src/test/config/test-config.ts +++ b/src/test/config/test-config.ts @@ -27,6 +27,7 @@ export function createTestConfig(config?: IUnleashOptions): IUnleashConfig { flags: { embedProxy: true, embedProxyFrontend: true, + createdByUserIdDataMigration: true, }, }, publicFolder: path.join(__dirname, '../examples'),