summaryrefslogtreecommitdiff
path: root/rust/core/src/queries/clear.rs
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2024-11-17 09:23:28 +0000
committerJoe Carstairs <me@joeac.net>2024-11-17 09:23:28 +0000
commit1ae19eb3315c40e3f9062592c27fa76c11cf626c (patch)
tree09d9ce380795971f4b50e1d4b0ca3c57c9e1db1a /rust/core/src/queries/clear.rs
parent1a494937021561595d0fb29e26fb707aef9e55de (diff)
Renames workspace folder
Diffstat (limited to 'rust/core/src/queries/clear.rs')
-rw-r--r--rust/core/src/queries/clear.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/rust/core/src/queries/clear.rs b/rust/core/src/queries/clear.rs
new file mode 100644
index 0000000..e704634
--- /dev/null
+++ b/rust/core/src/queries/clear.rs
@@ -0,0 +1,20 @@
+use anyhow::Result;
+use crate::queries::{
+ accounts::delete_all_accounts,
+ budget_updates::delete_all_budget_updates,
+ categories::delete_all_categories,
+ category_transfers::delete_all_category_transfers,
+ transactions::delete_all_transactions,
+ transaction_categorisations::delete_all_transaction_categorisations,
+};
+use diesel::SqliteConnection;
+
+pub fn clear(connection: &mut SqliteConnection) -> Result<()> {
+ delete_all_accounts(connection)?;
+ delete_all_budget_updates(connection)?;
+ delete_all_categories(connection)?;
+ delete_all_category_transfers(connection)?;
+ delete_all_transactions(connection)?;
+ delete_all_transaction_categorisations(connection)?;
+ Ok(())
+}