]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/res/raw/sql_58.sql
describe transaction_accounts to Room
[mobile-ledger.git] / app / src / main / res / raw / sql_58.sql
index 4c99be22a3125cebe5a51a2106a2a35f32c67bb2..ad28d1a5ba010b6fd2fe005084b1088ed0c6fb55 100644 (file)
@@ -50,6 +50,101 @@ select uuid, name, url, use_authentication, auth_user, auth_password, order_no,
  detected_version_pre_1_19, detected_version_major, detected_version_minor
 from profiles;
 
+drop table profiles;
+
+alter table profiles_new
+rename to profiles;
+
+create table options_new(profile varchar not null, name varchar not null, value varchar, primary key(profile, name));
+
+insert into options_new(profile, name, value)
+select profile, name, value from options;
+
+drop table options;
+
+alter table options_new
+rename to options;
+
+create table account_values_new(
+ profile varchar not null,
+ account varchar not null,
+ currency varchar not null default '',
+ value real not null,
+ generation integer not null default 0,
+ primary key(profile, account, currency));
+
+insert into account_values_new(
+ profile, account, currency, value, generation)
+select profile, account, currency, value, generation
+from account_values;
+
+drop table account_values;
+alter table account_values_new rename to account_values;
+
+create table description_history_new(
+ description varchar collate NOCASE not null primary key,
+ description_upper varchar not null,
+ generation integer not null default 0,
+ primary key(description));
+
+insert into description_history_new(description, description_upper, generation)
+select description, description_upper, generation from description_history;
+
+drop table description_history;
+alter table description_history_new rename to description_history;
+
+-- transactions
+
+create table transactions_new(
+ profile varchar not null,
+ id integer not null,
+ data_hash varchar not null,
+ year integer not null,
+ month integer not null,
+ day integer not null,
+ description varchar collate NOCASE not null,
+ comment varchar,
+ generation integer not null default 0,
+ primary key(profile,id));
+
+insert into transactions_new(profile, id, data_hash, year, month, day, description,
+ comment, generation)
+select profile, id, data_hash, year, month, day, description,
+       comment, generation
+from transactions;
+
+drop table transactions;
+alter table transactions_new rename to transactions;
+
+create unique index un_transactions_data_hash on transactions(profile,data_hash);
+create index idx_transaction_description on transactions(description);
+
+-- transaction_accounts
+
+create table transaction_accounts_new(
+ 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 real not null,
+ comment varchar,
+ generation integer not null default 0,
+ primary key(profile, transaction_id, order_no),
+ foreign key (profile,account_name) references accounts(profile,name)
+  on delete cascade on update restrict,
+ foreign key(profile, transaction_id) references transactions(profile,id)
+  on delete cascade on update restrict);
+
+insert into transaction_accounts_new(profile, transaction_id, order_no, account_name,
+ currency, amount, comment, generation)
+select profile, transaction_id, order_no, account_name,
+       currency, amount, comment, generation
+from transaction_accounts;
+
+drop table transaction_accounts;
+alter table transaction_accounts_new rename to transaction_accounts;
+
 COMMIT TRANSACTION;
 
 PRAGMA foreign_keys = ON;
\ No newline at end of file