diff --git a/database.py b/database.py index b6a93e3..13db531 100644 --- a/database.py +++ b/database.py @@ -190,6 +190,7 @@ def update_task(task_id, **kwargs): def delete_task(task_id): conn = get_connection() try: + conn.execute('UPDATE goals SET "selected_task_id" = NULL WHERE "selected_task_id" = ?', (task_id,)) conn.execute("DELETE FROM tasks WHERE id = ?", (task_id,)) conn.commit() finally: diff --git a/schema.py b/schema.py index a9e1f02..53c092c 100644 --- a/schema.py +++ b/schema.py @@ -22,7 +22,7 @@ CREATE TABLE IF NOT EXISTS goals ( activated INTEGER NOT NULL DEFAULT 1, selected_task_id INTEGER, FOREIGN KEY (user_id) REFERENCES users(id), - FOREIGN KEY (selected_task_id) REFERENCES tasks(id) + FOREIGN KEY (selected_task_id) REFERENCES tasks(id) ON DELETE SET NULL ) """