From 5679c97a89c38c6beec3f04396c71704430285c6 Mon Sep 17 00:00:00 2001
From: Sebastian Castro <sebastian.castro@protonmail.com>
Date: Thu, 21 Jan 2021 11:45:21 +0100
Subject: [PATCH] Improve performance migration

---
 src/Command/MigrationCommand.php | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/src/Command/MigrationCommand.php b/src/Command/MigrationCommand.php
index e647a1219..216d3ab00 100644
--- a/src/Command/MigrationCommand.php
+++ b/src/Command/MigrationCommand.php
@@ -36,11 +36,9 @@ class MigrationCommand extends Command
       // v3.2
       'db.Configuration.updateMany({}, {$set: {"user.loginWithLesCommuns": true, "user.loginWithLesGoogle": true, "user.loginWithFacebook": true}});',
       'db.Option.updateMany({}, {$set: {osmTags: {}}})',
-      'db.Element.find({ privateData: { $exists: true, $ne: {} } }).forEach(function(e) {
-        for(var prop in e.privateData) { e.data[prop] = e.privateData[prop]; }
-        delete e.privateData;
-        db.Element.save(e);
-      });'
+      'var mapping = {}; 
+       db.Element.find({ privateData: { $exists: true, $ne: {} } }).forEach(function(doc){Object.keys(doc.privateData).forEach(function(key){mapping["privateData." + key]="data." + key})}); 
+       db.Element.updateMany({ privateData: { $exists: true, $ne: {} } }, {$rename: mapping})'
     ];
 
     public static $commands = [
-- 
GitLab