]> git.ktnx.net Git - mobile-ledger.git/commitdiff
db tables for patterns and pattern accounts
authorDamyan Ivanov <dam+mobileledger@ktnx.net>
Wed, 6 Jan 2021 20:58:14 +0000 (22:58 +0200)
committerDamyan Ivanov <dam+mobileledger@ktnx.net>
Wed, 6 Jan 2021 20:58:14 +0000 (22:58 +0200)
app/src/main/java/net/ktnx/mobileledger/utils/MobileLedgerDatabase.java
app/src/main/res/raw/create_db.sql
app/src/main/res/raw/sql_42.sql [new file with mode: 0644]

index 8f8be513c8e60a837bcedca09fe02fc288c527c6..a7d9122635ae4ec0ee823793467aa8c221c155d3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2020 Damyan Ivanov.
+ * Copyright © 2021 Damyan Ivanov.
  * This file is part of MoLe.
  * MoLe is free software: you can distribute it and/or modify it
  * under the term of the GNU General Public License as published by
@@ -39,7 +39,7 @@ import static net.ktnx.mobileledger.utils.Logger.debug;
 public class MobileLedgerDatabase extends SQLiteOpenHelper {
     public static final MutableLiveData<Boolean> initComplete = new MutableLiveData<>(false);
     private static final String DB_NAME = "MoLe.db";
-    private static final int LATEST_REVISION = 41;
+    private static final int LATEST_REVISION = 42;
     private static final String CREATE_DB_SQL = "create_db";
     private final Application mContext;
 
index 2126aedf826303ac943d01f800079640e34679f6..0c7a29046cf30d2bd301f6deef855e840fd40458 100644 (file)
@@ -28,4 +28,9 @@ create index idx_transaction_description on transactions(description);
 create table transaction_accounts(profile varchar not null, transaction_id integer not null, order_no integer not null, account_name varchar not null, currency varchar not null default '', amount decimal not null, comment varchar, generation integer 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));
 create unique index un_transaction_accounts_order on transaction_accounts(profile, transaction_id, order_no);
 create table currencies(id integer not null primary key, name varchar not null, position varchar not null, has_gap boolean not null);
--- updated to revision 39
\ No newline at end of file
+
+create table patterns(id integer not null primary key, name varchar not null, position integer not null, regular_expression varchar not null, transaction_description varchar, transaction_comment varchar, date_year_match_group integer, date_month_match_group integer, date_day_match_group integer);
+create unique index un_patterns_id on patterns(id);
+create table pattern_accounts(id integer not null primary key, pattern_id integer not null, acc varchar, acc_match_group integer, currency integer, currency_match_group integer, amount decimal, amount_match_group integer, comment varchar, comment_match_group integer, constraint fk_pattern_account_pattern foreign key(pattern_id) references patterns(id), constraint fk_pattern_account_currency foreign key(currency) references currencies(id));
+create unique index un_pattern_accounts on pattern_accounts(id);
+-- updated to revision 42
\ No newline at end of file
diff --git a/app/src/main/res/raw/sql_42.sql b/app/src/main/res/raw/sql_42.sql
new file mode 100644 (file)
index 0000000..d2e297f
--- /dev/null
@@ -0,0 +1,19 @@
+-- Copyright © 2020 Damyan Ivanov.
+-- This file is part of MoLe.
+-- MoLe is free software: you can distribute it and/or modify it
+-- under the term of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your opinion), any later version.
+--
+-- MoLe is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License terms for details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with MoLe. If not, see <https://www.gnu.org/licenses/>.
+
+create table patterns(id integer not null primary key, name varchar not null, position integer not null, regular_expression varchar not null, transaction_description varchar, transaction_comment varchar, date_year_match_group integer, date_month_match_group integer, date_day_match_group integer);
+create unique index un_patterns_id on patterns(id);
+create table pattern_accounts(id integer not null primary key, pattern_id integer not null, acc varchar, acc_match_group integer, currency integer, currency_match_group integer, amount decimal, amount_match_group integer, comment varchar, comment_match_group integer, constraint fk_pattern_account_pattern foreign key(pattern_id) references patterns(id), constraint fk_pattern_account_currency foreign key(currency) references currencies(id));
+create unique index un_pattern_accounts on pattern_accounts(id);