From 92099dc7634679e9818be0bbb4989e0c8f7356f0 Mon Sep 17 00:00:00 2001 From: Matiss Janis Aboltins <matiss@mja.lv> Date: Sat, 5 Aug 2023 12:40:17 +0100 Subject: [PATCH] :bug: (schedules) fix creating schedules with the same name (#1463) Closes #1375 --- .../1691233396000_add_schedule_next_date_tombstone.sql | 5 +++++ packages/loot-core/src/server/schedules/app.ts | 7 ++++--- upcoming-release-notes/1463.md | 6 ++++++ 3 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 packages/loot-core/migrations/1691233396000_add_schedule_next_date_tombstone.sql create mode 100644 upcoming-release-notes/1463.md diff --git a/packages/loot-core/migrations/1691233396000_add_schedule_next_date_tombstone.sql b/packages/loot-core/migrations/1691233396000_add_schedule_next_date_tombstone.sql new file mode 100644 index 000000000..7e2f253c7 --- /dev/null +++ b/packages/loot-core/migrations/1691233396000_add_schedule_next_date_tombstone.sql @@ -0,0 +1,5 @@ +BEGIN TRANSACTION; + +ALTER TABLE schedules_next_date ADD COLUMN tombstone INTEGER DEFAULT 0; + +COMMIT; diff --git a/packages/loot-core/src/server/schedules/app.ts b/packages/loot-core/src/server/schedules/app.ts index 16df0c1c6..7939123c1 100644 --- a/packages/loot-core/src/server/schedules/app.ts +++ b/packages/loot-core/src/server/schedules/app.ts @@ -188,9 +188,10 @@ export async function setNextDate({ // Methods async function checkIfScheduleExists(name, scheduleId) { - let idForName = await db.first('SELECT id from schedules WHERE name = ?', [ - name, - ]); + let idForName = await db.first( + 'SELECT id from schedules WHERE tombstone = 0 AND name = ?', + [name], + ); if (idForName == null) { return false; diff --git a/upcoming-release-notes/1463.md b/upcoming-release-notes/1463.md new file mode 100644 index 000000000..476b02a34 --- /dev/null +++ b/upcoming-release-notes/1463.md @@ -0,0 +1,6 @@ +--- +category: Bugfix +authors: [MatissJanis] +--- + +Fix creating a new schedule with the same name as a deleted schedule -- GitLab