Skip to content

Commit d8b21a0

Browse files
committed
Use an EscoDB task to batch-save docs during migration
1 parent c823bae commit d8b21a0

1 file changed

Lines changed: 10 additions & 5 deletions

File tree

lib/legacy/migrator.js

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,20 @@ class Migrator {
5757
}
5858

5959
async _copySettings () {
60-
let copies = [['/global', this._data.global]];
60+
let writer = this._store.task()
61+
let reader = this._store.task()
62+
63+
let docs = [['/global', this._data.global]];
6164

6265
for (let service in this._data.services) {
63-
copies.push(['/services/' + service, this._data.services[service]])
66+
docs.push(['/services/' + service, this._data.services[service]])
6467
}
6568

66-
for (let [key, value] of copies) {
67-
await this._store.update(key, () => value)
68-
let stored = await this._store.get(key)
69+
let writes = docs.map(([key, value]) => writer.update(key, () => value))
70+
await Promise.all(writes)
71+
72+
for (let [key, value] of docs) {
73+
let stored = await reader.get(key)
6974

7075
assert.deepEqual(value, stored,
7176
'failed to write: [' + key + '] ' + JSON.stringify(value))

0 commit comments

Comments
 (0)