]> git.ktnx.net Git - mobile-ledger.git/blob - app/src/main/res/raw/db_34_40.sql
more pronounced day/month delimiters in the transaction list
[mobile-ledger.git] / app / src / main / res / raw / db_34_40.sql
1 -- Copyright © 2021 Damyan Ivanov.
2 -- This file is part of MoLe.
3 -- MoLe is free software: you can distribute it and/or modify it
4 -- under the term of the GNU General Public License as published by
5 -- the Free Software Foundation, either version 3 of the License, or
6 -- (at your opinion), any later version.
7 --
8 -- MoLe is distributed in the hope that it will be useful,
9 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
10 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 -- GNU General Public License terms for details.
12 --
13 -- You should have received a copy of the GNU General Public License
14 -- along with MoLe. If not, see <https://www.gnu.org/licenses/>.
15
16 -- migrate from revision 34 to revision 40
17
18 -- 35
19 create table accounts_new(
20     profile varchar not null,
21     name varchar not null,
22     name_upper varchar not null,
23     keep boolean not null default 0,
24     level integer not null,
25     parent_name varchar,
26     expanded default 1,
27     amounts_expanded boolean default 0,
28     generation integer default 0);
29
30 insert into accounts_new(
31     profile, name, name_upper, keep, level, parent_name, expanded, amounts_expanded)
32 select profile, name, name_upper, keep, level, parent_name, expanded, amounts_expanded
33 from accounts;
34
35 drop table accounts;
36
37 alter table accounts_new rename to accounts;
38
39 -- 36
40 -- merged in 35 --alter table accounts add generation integer default 0;
41
42 alter table account_values add generation integer default 0;
43
44 alter table transactions add generation integer default 0;
45
46 alter table transaction_accounts
47 add generation integer default 0,
48 add order_no integer not null default 0;
49
50 -- 37
51 update transaction_accounts set order_no = rowid;
52
53 -- 40
54 delete from transaction_accounts where not exists (select 1 from accounts a where a.profile=transaction_accounts.profile and a.name=transaction_accounts.account_name);
55 delete from transaction_accounts where not exists (select 1 from transactions t where t.profile=transaction_accounts.profile and t.id=transaction_accounts.transaction_id);
56
57 -- 38
58 CREATE TABLE transaction_accounts_new(profile varchar not null, transaction_id integer not null, account_name varchar not null, currency varchar not null default '', amount decimal not null, comment varchar, generation integer default 0, order_no integer not null default 0, constraint fk_transaction_accounts_acc foreign key(profile,account_name) references accounts(profile,name), constraint fk_transaction_accounts_trn foreign key(profile, transaction_id) references transactions(profile,id));
59 insert into transaction_accounts_new(profile, transaction_id, account_name, currency, amount, comment, generation, order_no) select profile, transaction_id, account_name, currency, amount, comment, generation, order_no from transaction_accounts;
60 drop table transaction_accounts;
61 alter table transaction_accounts_new rename to transaction_accounts;
62 create unique index un_transaction_accounts_order on transaction_accounts(profile, transaction_id, order_no);
63
64 -- 39
65 create table description_history_new(description varchar not null primary key, description_upper varchar, generation integer default 0);
66 insert into description_history_new(description, description_upper) select description, description_upper from description_history;
67 drop table description_history;
68 alter table description_history_new rename to description_history;
69 create unique index un_description_history on description_history(description_upper);
70