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