blob: 495216ed1f318c49a2a74e402ab98b256e4f0ad8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
pub mod getters;
pub mod inserters;
pub mod models;
pub mod transformers;
use getters::*;
use inserters::*;
use sqlite::Connection;
fn main() {
let connection_src = sqlite::open("in.sqlite").unwrap();
let connection_dest = sqlite::open("out.sqlite").unwrap();
let actualbudget_first_transaction_date = get_first_transaction_date(&connection_src);
let actualbudget_accounts = get_accounts(&connection_src);
let actualbudget_categories = get_categories(&connection_src);
let actualbudget_zero_budgets = get_zero_budgets(&connection_src);
let actualbudget_category_transfers_account = get_category_transfers_account(&connection_src);
let actualbudget_transactions = get_transactions(&connection_src);
let first_transaction_date = transformers::transform_date(&actualbudget_first_transaction_date);
let accounts =
transformers::transform_accounts(&actualbudget_accounts, &first_transaction_date);
let categories = transformers::transform_categories(&actualbudget_categories);
let budget_updates = transformers::transform_budget_updates(&actualbudget_zero_budgets);
let (transactions, transaction_categorisations) = transformers::transform_transactions(
&actualbudget_transactions,
&actualbudget_category_transfers_account,
);
let category_transfers = transformers::transform_category_transfers(
&actualbudget_transactions,
&actualbudget_category_transfers_account,
);
clear_destination(&connection_dest);
insert_accounts(&connection_dest, &accounts);
insert_categories(&connection_dest, &categories);
insert_budget_updates(&connection_dest, &budget_updates);
insert_transactions(&connection_dest, &transactions);
insert_transaction_categorisations(&connection_dest, &transaction_categorisations);
insert_category_transfers(&connection_dest, &category_transfers);
}
fn clear_destination(connection: &Connection) {
connection
.execute(
"
delete from accounts;
delete from budget_updates;
delete from categories;
delete from transaction_categorisations;
delete from category_transfers;
delete from transactions;
",
)
.unwrap();
}
|