From 309e37b83fa6497d338cabe43c8127a767d52bbc Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Sat, 9 May 2026 14:58:06 +0200 Subject: [PATCH] Cleanup applying metadata migrations --- .../metadata/services/MetadataMigrations.ts | 56 ++++++++----------- 1 file changed, 24 insertions(+), 32 deletions(-) diff --git a/src/features/metadata/services/MetadataMigrations.ts b/src/features/metadata/services/MetadataMigrations.ts index ec5a4506..789ab22f 100644 --- a/src/features/metadata/services/MetadataMigrations.ts +++ b/src/features/metadata/services/MetadataMigrations.ts @@ -365,40 +365,32 @@ export const applyMetadataMigrations = ( ? 0 : Math.max(0, Number(meta[migrationIdKey])); - const migrationToMetadata: [number, Metadata][] = [[0, meta]]; + const migratedMetadata = METADATA_MIGRATIONS.slice(appliedMigrationId).reduce( + (metadataToMigrate, migration, index) => { + const migrationId = index + 1; - METADATA_MIGRATIONS.forEach((migration, index) => { - const migrationId = index + 1; - const [, metadataToMigrate] = migrationToMetadata[migrationId - 1]; + const appKeyPrefixForMigration = getAppKeyPrefixForMigration(migrationId); + const appKeyPrefixMigrated = applyAppKeyPrefixMigration(metadataToMigrate, migration); + const metadataValuesMigrated = applyMetadataValueMigration( + appKeyPrefixMigrated, + migration, + appKeyPrefixForMigration, + ); + const metadataKeysMigrated = applyMetadataKeyMigration( + metadataValuesMigrated, + migration, + appKeyPrefixForMigration, + ); + const metadataKeysDeletedMigrated = applyMetadataDeleteKeysMigration( + metadataKeysMigrated, + migration, + appKeyPrefixForMigration, + ); - const isMigrationRequired = appliedMigrationId < migrationId; - if (!isMigrationRequired) { - migrationToMetadata.push([migrationId, metadataToMigrate]); - return; - } - - const appKeyPrefixForMigration = getAppKeyPrefixForMigration(migrationId); - const appKeyPrefixMigrated = applyAppKeyPrefixMigration(metadataToMigrate, migration); - const metadataValuesMigrated = applyMetadataValueMigration( - appKeyPrefixMigrated, - migration, - appKeyPrefixForMigration, - ); - const metadataKeysMigrated = applyMetadataKeyMigration( - metadataValuesMigrated, - migration, - appKeyPrefixForMigration, - ); - const metadataKeysDeletedMigrated = applyMetadataDeleteKeysMigration( - metadataKeysMigrated, - migration, - appKeyPrefixForMigration, - ); - - migrationToMetadata.push([migrationId, metadataKeysDeletedMigrated]); - }); - - const migratedMetadata = migrationToMetadata.pop()?.[1] ?? meta; + return metadataKeysDeletedMigrated; + }, + meta, + ); commitMigratedMetadata(type, metadataHolder, migratedMetadata, useEffectFn);