diff --git a/db/index.js b/db/index.js index 6d3d211d22704f2cf4ab9b582537da2d93792212..330509d726c6391f517b224d57cb404a80f27708 100644 --- a/db/index.js +++ b/db/index.js @@ -269,9 +269,25 @@ async function importCsv(csv, deleteFirst) { //remove symptoms where all fields are null putNullForEmptySymptoms(cycleDays) + if (deleteFirst) { db.write(() => { db.delete(db.objects('CycleDay')) + cycleDays.forEach(tryToCreateCycleDay) + }) + } else { + db.write(() => { cycleDays.forEach((day, i) => { + const existing = getCycleDay(day.date) + if (existing) { + db.delete(existing) + } + tryToCreateCycleDay(day, i) + }) + }) + } +} + +function tryToCreateCycleDay(day, i) { try { db.create('CycleDay', day) } catch (err) {