summaryrefslogtreecommitdiff
path: root/rust/schist_queries/src/clear.rs
blob: c823bcc0eda271007cada6d55502ed9dfb6294a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use anyhow::Result;
use diesel::SqliteConnection;

use crate::{
    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,
};

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(())
}