X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fres%2Fraw%2Fcreate_db.sql;h=39965ed3a3963033d83dc3c1fc59c4796fb82c45;hp=fb5e0435bdbd13d5621b4431733d52ce62d46fac;hb=55f4f1b5f101d0f9874fe3d3406d53c6df931a40;hpb=b2f45c881924d9a172241700e682f1051128bd59 diff --git a/app/src/main/res/raw/create_db.sql b/app/src/main/res/raw/create_db.sql index fb5e0435..39965ed3 100644 --- a/app/src/main/res/raw/create_db.sql +++ b/app/src/main/res/raw/create_db.sql @@ -1,4 +1,4 @@ --- 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 @@ -12,9 +12,11 @@ -- -- You should have received a copy of the GNU General Public License -- along with MoLe. If not, see . + +BEGIN TRANSACTION; + create table profiles(uuid varchar not null primary key, name not null, url not null, use_authentication boolean not null, auth_user varchar, auth_password varchar, order_no integer, permit_posting boolean default 0, theme integer default -1, preferred_accounts_filter varchar, future_dates integer, api_version integer, show_commodity_by_default boolean default 0, default_commodity varchar, show_comments_by_default boolean default 1, detected_version_pre_1_19 boolean, detected_version_major integer, detected_version_minor integer); -create table accounts(profile varchar not null, name varchar not null, name_upper varchar not null, level integer not null, parent_name varchar, expanded default 1, amounts_expanded boolean default 0, generation integer default 0); -create unique index un_accounts on accounts(profile, name); +create table accounts(profile varchar not null, name varchar not null, name_upper varchar not null, level integer not null, parent_name varchar, expanded integer not null default 1, amounts_expanded integer not null default 0, generation integer not null default 0, primary key(profile, name)); create table options(profile varchar not null, name varchar not null, value varchar); create unique index un_options on options(profile,name); create table account_values(profile varchar not null, account varchar not null, currency varchar not null default '', value decimal not null, generation integer default 0 ); @@ -29,10 +31,10 @@ create table transaction_accounts(profile varchar not null, transaction_id integ 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 integer not null); -create table patterns(id INTEGER not null primary key, name TEXT not null, regular_expression TEXT not null, test_text TEXT, transaction_description TEXT, transaction_description_match_group INTEGER, transaction_comment TEXT, transaction_comment_match_group INTEGER, date_year INTEGER, date_year_match_group INTEGER, date_month INTEGER, date_month_match_group INTEGER, date_day 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, position INTEGER not null, acc TEXT, acc_match_group INTEGER, currency INTEGER, currency_match_group INTEGER, amount REAL, amount_match_group INTEGER, negate_amount INTEGER, comment TEXT, 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); -create index fk_pattern_accounts_pattern on pattern_accounts(pattern_id); -create index fk_pattern_accounts_currency on pattern_accounts(currency); --- updated to revision 53 \ No newline at end of file +CREATE TABLE templates (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, name TEXT NOT NULL, regular_expression TEXT NOT NULL, test_text TEXT, transaction_description TEXT, transaction_description_match_group INTEGER, transaction_comment TEXT, transaction_comment_match_group INTEGER, date_year INTEGER, date_year_match_group INTEGER, date_month INTEGER, date_month_match_group INTEGER, date_day INTEGER, date_day_match_group INTEGER, is_fallback INTEGER NOT NULL DEFAULT 0); +CREATE TABLE template_accounts(id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, template_id INTEGER NOT NULL, acc TEXT, position INTEGER NOT NULL, acc_match_group INTEGER, currency INTEGER, currency_match_group INTEGER, amount REAL, amount_match_group INTEGER, comment TEXT, comment_match_group INTEGER, negate_amount INTEGER, FOREIGN KEY(template_id) REFERENCES templates(id) ON UPDATE RESTRICT ON DELETE CASCADE, FOREIGN KEY(currency) REFERENCES currencies(id) ON UPDATE RESTRICT ON DELETE RESTRICT); +create index fk_template_accounts_template on template_accounts(template_id); +create index fk_template_accounts_currency on template_accounts(currency); + +COMMIT TRANSACTION; +-- updated to revision 56 \ No newline at end of file