summaryrefslogtreecommitdiff
path: root/schist_core/schist_queries/src/clear.rs
diff options
context:
space:
mode:
authorJoe Carstairs <jcarstairs@scottlogic.com>2025-07-28 13:22:53 +0100
committerJoe Carstairs <jcarstairs@scottlogic.com>2025-07-28 13:30:27 +0100
commit2361adeb0ca77904138e3466d51c2f44cf6df613 (patch)
treef6e7192908f99fab62061913d8a1e9d2b918414b /schist_core/schist_queries/src/clear.rs
parentc7ed1e61ce2218be0b9e60577454124c4e43a366 (diff)
Tidier folders
Diffstat (limited to 'schist_core/schist_queries/src/clear.rs')
-rw-r--r--schist_core/schist_queries/src/clear.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/schist_core/schist_queries/src/clear.rs b/schist_core/schist_queries/src/clear.rs
new file mode 100644
index 0000000..7cee699
--- /dev/null
+++ b/schist_core/schist_queries/src/clear.rs
@@ -0,0 +1,16 @@
+use anyhow::Result;
+use diesel::SqliteConnection;
+
+use crate::{
+ accounts::delete_all_accounts, budget_drips::delete_all_budget_drips, categories::delete_all_categories, category_transfers::delete_all_category_transfers, transaction_categorisations::delete_all_transaction_categorisations, transactions::delete_all_transactions
+};
+
+pub fn clear(connection: &mut SqliteConnection) -> Result<()> {
+ delete_all_accounts(connection)?;
+ delete_all_budget_drips(connection)?;
+ delete_all_categories(connection)?;
+ delete_all_category_transfers(connection)?;
+ delete_all_transactions(connection)?;
+ delete_all_transaction_categorisations(connection)?;
+ Ok(())
+}