]> git.ktnx.net Git - mobile-ledger.git/blob - app/schemas/net.ktnx.mobileledger.db.DB/59.json
more pronounced day/month delimiters in the transaction list
[mobile-ledger.git] / app / schemas / net.ktnx.mobileledger.db.DB / 59.json
1 {
2   "formatVersion": 1,
3   "database": {
4     "version": 59,
5     "identityHash": "0ab4d8a73295b6337c52ea561994b1c8",
6     "entities": [
7       {
8         "tableName": "templates",
9         "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`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)",
10         "fields": [
11           {
12             "fieldPath": "id",
13             "columnName": "id",
14             "affinity": "INTEGER",
15             "notNull": true
16           },
17           {
18             "fieldPath": "name",
19             "columnName": "name",
20             "affinity": "TEXT",
21             "notNull": true
22           },
23           {
24             "fieldPath": "regularExpression",
25             "columnName": "regular_expression",
26             "affinity": "TEXT",
27             "notNull": true
28           },
29           {
30             "fieldPath": "testText",
31             "columnName": "test_text",
32             "affinity": "TEXT",
33             "notNull": false
34           },
35           {
36             "fieldPath": "transactionDescription",
37             "columnName": "transaction_description",
38             "affinity": "TEXT",
39             "notNull": false
40           },
41           {
42             "fieldPath": "transactionDescriptionMatchGroup",
43             "columnName": "transaction_description_match_group",
44             "affinity": "INTEGER",
45             "notNull": false
46           },
47           {
48             "fieldPath": "transactionComment",
49             "columnName": "transaction_comment",
50             "affinity": "TEXT",
51             "notNull": false
52           },
53           {
54             "fieldPath": "transactionCommentMatchGroup",
55             "columnName": "transaction_comment_match_group",
56             "affinity": "INTEGER",
57             "notNull": false
58           },
59           {
60             "fieldPath": "dateYear",
61             "columnName": "date_year",
62             "affinity": "INTEGER",
63             "notNull": false
64           },
65           {
66             "fieldPath": "dateYearMatchGroup",
67             "columnName": "date_year_match_group",
68             "affinity": "INTEGER",
69             "notNull": false
70           },
71           {
72             "fieldPath": "dateMonth",
73             "columnName": "date_month",
74             "affinity": "INTEGER",
75             "notNull": false
76           },
77           {
78             "fieldPath": "dateMonthMatchGroup",
79             "columnName": "date_month_match_group",
80             "affinity": "INTEGER",
81             "notNull": false
82           },
83           {
84             "fieldPath": "dateDay",
85             "columnName": "date_day",
86             "affinity": "INTEGER",
87             "notNull": false
88           },
89           {
90             "fieldPath": "dateDayMatchGroup",
91             "columnName": "date_day_match_group",
92             "affinity": "INTEGER",
93             "notNull": false
94           },
95           {
96             "fieldPath": "isFallback",
97             "columnName": "is_fallback",
98             "affinity": "INTEGER",
99             "notNull": true
100           }
101         ],
102         "primaryKey": {
103           "columnNames": [
104             "id"
105           ],
106           "autoGenerate": true
107         },
108         "indices": [],
109         "foreignKeys": []
110       },
111       {
112         "tableName": "template_accounts",
113         "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`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 )",
114         "fields": [
115           {
116             "fieldPath": "id",
117             "columnName": "id",
118             "affinity": "INTEGER",
119             "notNull": true
120           },
121           {
122             "fieldPath": "templateId",
123             "columnName": "template_id",
124             "affinity": "INTEGER",
125             "notNull": true
126           },
127           {
128             "fieldPath": "accountName",
129             "columnName": "acc",
130             "affinity": "TEXT",
131             "notNull": false
132           },
133           {
134             "fieldPath": "position",
135             "columnName": "position",
136             "affinity": "INTEGER",
137             "notNull": true
138           },
139           {
140             "fieldPath": "accountNameMatchGroup",
141             "columnName": "acc_match_group",
142             "affinity": "INTEGER",
143             "notNull": false
144           },
145           {
146             "fieldPath": "currency",
147             "columnName": "currency",
148             "affinity": "INTEGER",
149             "notNull": false
150           },
151           {
152             "fieldPath": "currencyMatchGroup",
153             "columnName": "currency_match_group",
154             "affinity": "INTEGER",
155             "notNull": false
156           },
157           {
158             "fieldPath": "amount",
159             "columnName": "amount",
160             "affinity": "REAL",
161             "notNull": false
162           },
163           {
164             "fieldPath": "amountMatchGroup",
165             "columnName": "amount_match_group",
166             "affinity": "INTEGER",
167             "notNull": false
168           },
169           {
170             "fieldPath": "accountComment",
171             "columnName": "comment",
172             "affinity": "TEXT",
173             "notNull": false
174           },
175           {
176             "fieldPath": "accountCommentMatchGroup",
177             "columnName": "comment_match_group",
178             "affinity": "INTEGER",
179             "notNull": false
180           },
181           {
182             "fieldPath": "negateAmount",
183             "columnName": "negate_amount",
184             "affinity": "INTEGER",
185             "notNull": false
186           }
187         ],
188         "primaryKey": {
189           "columnNames": [
190             "id"
191           ],
192           "autoGenerate": true
193         },
194         "indices": [
195           {
196             "name": "fk_template_accounts_template",
197             "unique": false,
198             "columnNames": [
199               "template_id"
200             ],
201             "createSql": "CREATE INDEX IF NOT EXISTS `fk_template_accounts_template` ON `${TABLE_NAME}` (`template_id`)"
202           },
203           {
204             "name": "fk_template_accounts_currency",
205             "unique": false,
206             "columnNames": [
207               "currency"
208             ],
209             "createSql": "CREATE INDEX IF NOT EXISTS `fk_template_accounts_currency` ON `${TABLE_NAME}` (`currency`)"
210           }
211         ],
212         "foreignKeys": [
213           {
214             "table": "templates",
215             "onDelete": "CASCADE",
216             "onUpdate": "RESTRICT",
217             "columns": [
218               "template_id"
219             ],
220             "referencedColumns": [
221               "id"
222             ]
223           },
224           {
225             "table": "currencies",
226             "onDelete": "RESTRICT",
227             "onUpdate": "RESTRICT",
228             "columns": [
229               "currency"
230             ],
231             "referencedColumns": [
232               "id"
233             ]
234           }
235         ]
236       },
237       {
238         "tableName": "currencies",
239         "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL, `position` TEXT NOT NULL, `has_gap` INTEGER NOT NULL)",
240         "fields": [
241           {
242             "fieldPath": "id",
243             "columnName": "id",
244             "affinity": "INTEGER",
245             "notNull": true
246           },
247           {
248             "fieldPath": "name",
249             "columnName": "name",
250             "affinity": "TEXT",
251             "notNull": true
252           },
253           {
254             "fieldPath": "position",
255             "columnName": "position",
256             "affinity": "TEXT",
257             "notNull": true
258           },
259           {
260             "fieldPath": "hasGap",
261             "columnName": "has_gap",
262             "affinity": "INTEGER",
263             "notNull": true
264           }
265         ],
266         "primaryKey": {
267           "columnNames": [
268             "id"
269           ],
270           "autoGenerate": true
271         },
272         "indices": [],
273         "foreignKeys": []
274       },
275       {
276         "tableName": "accounts",
277         "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `profile_id` INTEGER NOT NULL, `level` INTEGER NOT NULL, `name` TEXT NOT NULL, `name_upper` TEXT NOT NULL, `parent_name` TEXT, `expanded` INTEGER NOT NULL DEFAULT 1, `amounts_expanded` INTEGER NOT NULL DEFAULT 0, `generation` INTEGER NOT NULL DEFAULT 0, FOREIGN KEY(`profile_id`) REFERENCES `profiles`(`id`) ON UPDATE RESTRICT ON DELETE CASCADE )",
278         "fields": [
279           {
280             "fieldPath": "id",
281             "columnName": "id",
282             "affinity": "INTEGER",
283             "notNull": true
284           },
285           {
286             "fieldPath": "profileId",
287             "columnName": "profile_id",
288             "affinity": "INTEGER",
289             "notNull": true
290           },
291           {
292             "fieldPath": "level",
293             "columnName": "level",
294             "affinity": "INTEGER",
295             "notNull": true
296           },
297           {
298             "fieldPath": "name",
299             "columnName": "name",
300             "affinity": "TEXT",
301             "notNull": true
302           },
303           {
304             "fieldPath": "nameUpper",
305             "columnName": "name_upper",
306             "affinity": "TEXT",
307             "notNull": true
308           },
309           {
310             "fieldPath": "parentName",
311             "columnName": "parent_name",
312             "affinity": "TEXT",
313             "notNull": false
314           },
315           {
316             "fieldPath": "expanded",
317             "columnName": "expanded",
318             "affinity": "INTEGER",
319             "notNull": true,
320             "defaultValue": "1"
321           },
322           {
323             "fieldPath": "amountsExpanded",
324             "columnName": "amounts_expanded",
325             "affinity": "INTEGER",
326             "notNull": true,
327             "defaultValue": "0"
328           },
329           {
330             "fieldPath": "generation",
331             "columnName": "generation",
332             "affinity": "INTEGER",
333             "notNull": true,
334             "defaultValue": "0"
335           }
336         ],
337         "primaryKey": {
338           "columnNames": [
339             "id"
340           ],
341           "autoGenerate": true
342         },
343         "indices": [
344           {
345             "name": "un_account_name",
346             "unique": true,
347             "columnNames": [
348               "profile_id",
349               "name"
350             ],
351             "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `un_account_name` ON `${TABLE_NAME}` (`profile_id`, `name`)"
352           },
353           {
354             "name": "fk_account_profile",
355             "unique": false,
356             "columnNames": [
357               "profile_id"
358             ],
359             "createSql": "CREATE INDEX IF NOT EXISTS `fk_account_profile` ON `${TABLE_NAME}` (`profile_id`)"
360           }
361         ],
362         "foreignKeys": [
363           {
364             "table": "profiles",
365             "onDelete": "CASCADE",
366             "onUpdate": "RESTRICT",
367             "columns": [
368               "profile_id"
369             ],
370             "referencedColumns": [
371               "id"
372             ]
373           }
374         ]
375       },
376       {
377         "tableName": "profiles",
378         "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL, `deprecated_uuid` TEXT, `url` TEXT NOT NULL, `use_authentication` INTEGER NOT NULL, `auth_user` TEXT, `auth_password` TEXT, `order_no` INTEGER NOT NULL, `permit_posting` INTEGER NOT NULL, `theme` INTEGER NOT NULL DEFAULT -1, `preferred_accounts_filter` TEXT, `future_dates` INTEGER NOT NULL, `api_version` INTEGER NOT NULL, `show_commodity_by_default` INTEGER NOT NULL, `default_commodity` TEXT, `show_comments_by_default` INTEGER NOT NULL DEFAULT 1, `detected_version_pre_1_19` INTEGER NOT NULL, `detected_version_major` INTEGER NOT NULL, `detected_version_minor` INTEGER NOT NULL)",
379         "fields": [
380           {
381             "fieldPath": "id",
382             "columnName": "id",
383             "affinity": "INTEGER",
384             "notNull": true
385           },
386           {
387             "fieldPath": "name",
388             "columnName": "name",
389             "affinity": "TEXT",
390             "notNull": true
391           },
392           {
393             "fieldPath": "deprecatedUUID",
394             "columnName": "deprecated_uuid",
395             "affinity": "TEXT",
396             "notNull": false
397           },
398           {
399             "fieldPath": "url",
400             "columnName": "url",
401             "affinity": "TEXT",
402             "notNull": true
403           },
404           {
405             "fieldPath": "useAuthentication",
406             "columnName": "use_authentication",
407             "affinity": "INTEGER",
408             "notNull": true
409           },
410           {
411             "fieldPath": "authUser",
412             "columnName": "auth_user",
413             "affinity": "TEXT",
414             "notNull": false
415           },
416           {
417             "fieldPath": "authPassword",
418             "columnName": "auth_password",
419             "affinity": "TEXT",
420             "notNull": false
421           },
422           {
423             "fieldPath": "orderNo",
424             "columnName": "order_no",
425             "affinity": "INTEGER",
426             "notNull": true
427           },
428           {
429             "fieldPath": "permitPosting",
430             "columnName": "permit_posting",
431             "affinity": "INTEGER",
432             "notNull": true
433           },
434           {
435             "fieldPath": "theme",
436             "columnName": "theme",
437             "affinity": "INTEGER",
438             "notNull": true,
439             "defaultValue": "-1"
440           },
441           {
442             "fieldPath": "preferredAccountsFilter",
443             "columnName": "preferred_accounts_filter",
444             "affinity": "TEXT",
445             "notNull": false
446           },
447           {
448             "fieldPath": "futureDates",
449             "columnName": "future_dates",
450             "affinity": "INTEGER",
451             "notNull": true
452           },
453           {
454             "fieldPath": "apiVersion",
455             "columnName": "api_version",
456             "affinity": "INTEGER",
457             "notNull": true
458           },
459           {
460             "fieldPath": "showCommodityByDefault",
461             "columnName": "show_commodity_by_default",
462             "affinity": "INTEGER",
463             "notNull": true
464           },
465           {
466             "fieldPath": "defaultCommodity",
467             "columnName": "default_commodity",
468             "affinity": "TEXT",
469             "notNull": false
470           },
471           {
472             "fieldPath": "showCommentsByDefault",
473             "columnName": "show_comments_by_default",
474             "affinity": "INTEGER",
475             "notNull": true,
476             "defaultValue": "1"
477           },
478           {
479             "fieldPath": "detectedVersionPre_1_19",
480             "columnName": "detected_version_pre_1_19",
481             "affinity": "INTEGER",
482             "notNull": true
483           },
484           {
485             "fieldPath": "detectedVersionMajor",
486             "columnName": "detected_version_major",
487             "affinity": "INTEGER",
488             "notNull": true
489           },
490           {
491             "fieldPath": "detectedVersionMinor",
492             "columnName": "detected_version_minor",
493             "affinity": "INTEGER",
494             "notNull": true
495           }
496         ],
497         "primaryKey": {
498           "columnNames": [
499             "id"
500           ],
501           "autoGenerate": true
502         },
503         "indices": [],
504         "foreignKeys": []
505       },
506       {
507         "tableName": "options",
508         "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profile_id` INTEGER NOT NULL, `name` TEXT NOT NULL, `value` TEXT, PRIMARY KEY(`profile_id`, `name`))",
509         "fields": [
510           {
511             "fieldPath": "profileId",
512             "columnName": "profile_id",
513             "affinity": "INTEGER",
514             "notNull": true
515           },
516           {
517             "fieldPath": "name",
518             "columnName": "name",
519             "affinity": "TEXT",
520             "notNull": true
521           },
522           {
523             "fieldPath": "value",
524             "columnName": "value",
525             "affinity": "TEXT",
526             "notNull": false
527           }
528         ],
529         "primaryKey": {
530           "columnNames": [
531             "profile_id",
532             "name"
533           ],
534           "autoGenerate": false
535         },
536         "indices": [],
537         "foreignKeys": []
538       },
539       {
540         "tableName": "account_values",
541         "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `account_id` INTEGER NOT NULL, `currency` TEXT NOT NULL DEFAULT '', `value` REAL NOT NULL, `generation` INTEGER NOT NULL DEFAULT 0, FOREIGN KEY(`account_id`) REFERENCES `accounts`(`id`) ON UPDATE RESTRICT ON DELETE CASCADE )",
542         "fields": [
543           {
544             "fieldPath": "id",
545             "columnName": "id",
546             "affinity": "INTEGER",
547             "notNull": true
548           },
549           {
550             "fieldPath": "accountId",
551             "columnName": "account_id",
552             "affinity": "INTEGER",
553             "notNull": true
554           },
555           {
556             "fieldPath": "currency",
557             "columnName": "currency",
558             "affinity": "TEXT",
559             "notNull": true,
560             "defaultValue": "''"
561           },
562           {
563             "fieldPath": "value",
564             "columnName": "value",
565             "affinity": "REAL",
566             "notNull": true
567           },
568           {
569             "fieldPath": "generation",
570             "columnName": "generation",
571             "affinity": "INTEGER",
572             "notNull": true,
573             "defaultValue": "0"
574           }
575         ],
576         "primaryKey": {
577           "columnNames": [
578             "id"
579           ],
580           "autoGenerate": true
581         },
582         "indices": [
583           {
584             "name": "un_account_values",
585             "unique": true,
586             "columnNames": [
587               "account_id",
588               "currency"
589             ],
590             "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `un_account_values` ON `${TABLE_NAME}` (`account_id`, `currency`)"
591           },
592           {
593             "name": "fk_account_value_acc",
594             "unique": false,
595             "columnNames": [
596               "account_id"
597             ],
598             "createSql": "CREATE INDEX IF NOT EXISTS `fk_account_value_acc` ON `${TABLE_NAME}` (`account_id`)"
599           }
600         ],
601         "foreignKeys": [
602           {
603             "table": "accounts",
604             "onDelete": "CASCADE",
605             "onUpdate": "RESTRICT",
606             "columns": [
607               "account_id"
608             ],
609             "referencedColumns": [
610               "id"
611             ]
612           }
613         ]
614       },
615       {
616         "tableName": "description_history",
617         "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`description` TEXT NOT NULL COLLATE NOCASE, `description_upper` TEXT NOT NULL, `generation` INTEGER NOT NULL DEFAULT 0, PRIMARY KEY(`description`))",
618         "fields": [
619           {
620             "fieldPath": "description",
621             "columnName": "description",
622             "affinity": "TEXT",
623             "notNull": true
624           },
625           {
626             "fieldPath": "descriptionUpper",
627             "columnName": "description_upper",
628             "affinity": "TEXT",
629             "notNull": true
630           },
631           {
632             "fieldPath": "generation",
633             "columnName": "generation",
634             "affinity": "INTEGER",
635             "notNull": true,
636             "defaultValue": "0"
637           }
638         ],
639         "primaryKey": {
640           "columnNames": [
641             "description"
642           ],
643           "autoGenerate": false
644         },
645         "indices": [],
646         "foreignKeys": []
647       },
648       {
649         "tableName": "transactions",
650         "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `ledger_id` INTEGER NOT NULL, `profile_id` INTEGER NOT NULL, `data_hash` TEXT NOT NULL, `year` INTEGER NOT NULL, `month` INTEGER NOT NULL, `day` INTEGER NOT NULL, `description` TEXT NOT NULL COLLATE NOCASE, `comment` TEXT, `generation` INTEGER NOT NULL, FOREIGN KEY(`profile_id`) REFERENCES `profiles`(`id`) ON UPDATE RESTRICT ON DELETE CASCADE )",
651         "fields": [
652           {
653             "fieldPath": "id",
654             "columnName": "id",
655             "affinity": "INTEGER",
656             "notNull": true
657           },
658           {
659             "fieldPath": "ledgerId",
660             "columnName": "ledger_id",
661             "affinity": "INTEGER",
662             "notNull": true
663           },
664           {
665             "fieldPath": "profileId",
666             "columnName": "profile_id",
667             "affinity": "INTEGER",
668             "notNull": true
669           },
670           {
671             "fieldPath": "dataHash",
672             "columnName": "data_hash",
673             "affinity": "TEXT",
674             "notNull": true
675           },
676           {
677             "fieldPath": "year",
678             "columnName": "year",
679             "affinity": "INTEGER",
680             "notNull": true
681           },
682           {
683             "fieldPath": "month",
684             "columnName": "month",
685             "affinity": "INTEGER",
686             "notNull": true
687           },
688           {
689             "fieldPath": "day",
690             "columnName": "day",
691             "affinity": "INTEGER",
692             "notNull": true
693           },
694           {
695             "fieldPath": "description",
696             "columnName": "description",
697             "affinity": "TEXT",
698             "notNull": true
699           },
700           {
701             "fieldPath": "comment",
702             "columnName": "comment",
703             "affinity": "TEXT",
704             "notNull": false
705           },
706           {
707             "fieldPath": "generation",
708             "columnName": "generation",
709             "affinity": "INTEGER",
710             "notNull": true
711           }
712         ],
713         "primaryKey": {
714           "columnNames": [
715             "id"
716           ],
717           "autoGenerate": true
718         },
719         "indices": [
720           {
721             "name": "un_transactions_ledger_id",
722             "unique": true,
723             "columnNames": [
724               "profile_id",
725               "ledger_id"
726             ],
727             "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `un_transactions_ledger_id` ON `${TABLE_NAME}` (`profile_id`, `ledger_id`)"
728           },
729           {
730             "name": "idx_transaction_description",
731             "unique": false,
732             "columnNames": [
733               "description"
734             ],
735             "createSql": "CREATE INDEX IF NOT EXISTS `idx_transaction_description` ON `${TABLE_NAME}` (`description`)"
736           },
737           {
738             "name": "fk_transaction_profile",
739             "unique": false,
740             "columnNames": [
741               "profile_id"
742             ],
743             "createSql": "CREATE INDEX IF NOT EXISTS `fk_transaction_profile` ON `${TABLE_NAME}` (`profile_id`)"
744           }
745         ],
746         "foreignKeys": [
747           {
748             "table": "profiles",
749             "onDelete": "CASCADE",
750             "onUpdate": "RESTRICT",
751             "columns": [
752               "profile_id"
753             ],
754             "referencedColumns": [
755               "id"
756             ]
757           }
758         ]
759       },
760       {
761         "tableName": "transaction_accounts",
762         "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `transaction_id` INTEGER NOT NULL, `order_no` INTEGER NOT NULL, `account_name` TEXT NOT NULL, `currency` TEXT NOT NULL DEFAULT '', `amount` REAL NOT NULL, `comment` TEXT, `generation` INTEGER NOT NULL DEFAULT 0, FOREIGN KEY(`transaction_id`) REFERENCES `transactions`(`id`) ON UPDATE RESTRICT ON DELETE CASCADE )",
763         "fields": [
764           {
765             "fieldPath": "id",
766             "columnName": "id",
767             "affinity": "INTEGER",
768             "notNull": true
769           },
770           {
771             "fieldPath": "transactionId",
772             "columnName": "transaction_id",
773             "affinity": "INTEGER",
774             "notNull": true
775           },
776           {
777             "fieldPath": "orderNo",
778             "columnName": "order_no",
779             "affinity": "INTEGER",
780             "notNull": true
781           },
782           {
783             "fieldPath": "accountName",
784             "columnName": "account_name",
785             "affinity": "TEXT",
786             "notNull": true
787           },
788           {
789             "fieldPath": "currency",
790             "columnName": "currency",
791             "affinity": "TEXT",
792             "notNull": true,
793             "defaultValue": "''"
794           },
795           {
796             "fieldPath": "amount",
797             "columnName": "amount",
798             "affinity": "REAL",
799             "notNull": true
800           },
801           {
802             "fieldPath": "comment",
803             "columnName": "comment",
804             "affinity": "TEXT",
805             "notNull": false
806           },
807           {
808             "fieldPath": "generation",
809             "columnName": "generation",
810             "affinity": "INTEGER",
811             "notNull": true,
812             "defaultValue": "0"
813           }
814         ],
815         "primaryKey": {
816           "columnNames": [
817             "id"
818           ],
819           "autoGenerate": true
820         },
821         "indices": [
822           {
823             "name": "fk_trans_acc_trans",
824             "unique": false,
825             "columnNames": [
826               "transaction_id"
827             ],
828             "createSql": "CREATE INDEX IF NOT EXISTS `fk_trans_acc_trans` ON `${TABLE_NAME}` (`transaction_id`)"
829           },
830           {
831             "name": "un_transaction_accounts",
832             "unique": true,
833             "columnNames": [
834               "transaction_id",
835               "order_no"
836             ],
837             "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `un_transaction_accounts` ON `${TABLE_NAME}` (`transaction_id`, `order_no`)"
838           }
839         ],
840         "foreignKeys": [
841           {
842             "table": "transactions",
843             "onDelete": "CASCADE",
844             "onUpdate": "RESTRICT",
845             "columns": [
846               "transaction_id"
847             ],
848             "referencedColumns": [
849               "id"
850             ]
851           }
852         ]
853       }
854     ],
855     "views": [],
856     "setupQueries": [
857       "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
858       "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '0ab4d8a73295b6337c52ea561994b1c8')"
859     ]
860   }
861 }