summaryrefslogtreecommitdiff
path: root/schist_core/schist_queries/src/clear.rs
blob: 7cee699fc287622f0bc5aa9b63815a59c895f4ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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(())
}