]> git.ktnx.net Git - mobile-ledger.git/blob - app/schemas/net.ktnx.mobileledger.db.DB/62.json
really prepare 0.20.4 (48) for release
[mobile-ledger.git] / app / schemas / net.ktnx.mobileledger.db.DB / 62.json
1 {
2   "formatVersion": 1,
3   "database": {
4     "version": 62,
5     "identityHash": "69591403d82a378a35d1f22e7e8f637f",
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           {
274             "name": "currency_name_idx",
275             "unique": true,
276             "columnNames": [
277               "name"
278             ],
279             "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `currency_name_idx` ON `${TABLE_NAME}` (`name`)"
280           }
281         ],
282         "foreignKeys": []
283       },
284       {
285         "tableName": "accounts",
286         "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 )",
287         "fields": [
288           {
289             "fieldPath": "id",
290             "columnName": "id",
291             "affinity": "INTEGER",
292             "notNull": true
293           },
294           {
295             "fieldPath": "profileId",
296             "columnName": "profile_id",
297             "affinity": "INTEGER",
298             "notNull": true
299           },
300           {
301             "fieldPath": "level",
302             "columnName": "level",
303             "affinity": "INTEGER",
304             "notNull": true
305           },
306           {
307             "fieldPath": "name",
308             "columnName": "name",
309             "affinity": "TEXT",
310             "notNull": true
311           },
312           {
313             "fieldPath": "nameUpper",
314             "columnName": "name_upper",
315             "affinity": "TEXT",
316             "notNull": true
317           },
318           {
319             "fieldPath": "parentName",
320             "columnName": "parent_name",
321             "affinity": "TEXT",
322             "notNull": false
323           },
324           {
325             "fieldPath": "expanded",
326             "columnName": "expanded",
327             "affinity": "INTEGER",
328             "notNull": true,
329             "defaultValue": "1"
330           },
331           {
332             "fieldPath": "amountsExpanded",
333             "columnName": "amounts_expanded",
334             "affinity": "INTEGER",
335             "notNull": true,
336             "defaultValue": "0"
337           },
338           {
339             "fieldPath": "generation",
340             "columnName": "generation",
341             "affinity": "INTEGER",
342             "notNull": true,
343             "defaultValue": "0"
344           }
345         ],
346         "primaryKey": {
347           "columnNames": [
348             "id"
349           ],
350           "autoGenerate": true
351         },
352         "indices": [
353           {
354             "name": "un_account_name",
355             "unique": true,
356             "columnNames": [
357               "profile_id",
358               "name"
359             ],
360             "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `un_account_name` ON `${TABLE_NAME}` (`profile_id`, `name`)"
361           },
362           {
363             "name": "fk_account_profile",
364             "unique": false,
365             "columnNames": [
366               "profile_id"
367             ],
368             "createSql": "CREATE INDEX IF NOT EXISTS `fk_account_profile` ON `${TABLE_NAME}` (`profile_id`)"
369           }
370         ],
371         "foreignKeys": [
372           {
373             "table": "profiles",
374             "onDelete": "CASCADE",
375             "onUpdate": "RESTRICT",
376             "columns": [
377               "profile_id"
378             ],
379             "referencedColumns": [
380               "id"
381             ]
382           }
383         ]
384       },
385       {
386         "tableName": "profiles",
387         "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)",
388         "fields": [
389           {
390             "fieldPath": "id",
391             "columnName": "id",
392             "affinity": "INTEGER",
393             "notNull": true
394           },
395           {
396             "fieldPath": "name",
397             "columnName": "name",
398             "affinity": "TEXT",
399             "notNull": true
400           },
401           {
402             "fieldPath": "deprecatedUUID",
403             "columnName": "deprecated_uuid",
404             "affinity": "TEXT",
405             "notNull": false
406           },
407           {
408             "fieldPath": "url",
409             "columnName": "url",
410             "affinity": "TEXT",
411             "notNull": true
412           },
413           {
414             "fieldPath": "useAuthentication",
415             "columnName": "use_authentication",
416             "affinity": "INTEGER",
417             "notNull": true
418           },
419           {
420             "fieldPath": "authUser",
421             "columnName": "auth_user",
422             "affinity": "TEXT",
423             "notNull": false
424           },
425           {
426             "fieldPath": "authPassword",
427             "columnName": "auth_password",
428             "affinity": "TEXT",
429             "notNull": false
430           },
431           {
432             "fieldPath": "orderNo",
433             "columnName": "order_no",
434             "affinity": "INTEGER",
435             "notNull": true
436           },
437           {
438             "fieldPath": "permitPosting",
439             "columnName": "permit_posting",
440             "affinity": "INTEGER",
441             "notNull": true
442           },
443           {
444             "fieldPath": "theme",
445             "columnName": "theme",
446             "affinity": "INTEGER",
447             "notNull": true,
448             "defaultValue": "-1"
449           },
450           {
451             "fieldPath": "preferredAccountsFilter",
452             "columnName": "preferred_accounts_filter",
453             "affinity": "TEXT",
454             "notNull": false
455           },
456           {
457             "fieldPath": "futureDates",
458             "columnName": "future_dates",
459             "affinity": "INTEGER",
460             "notNull": true
461           },
462           {
463             "fieldPath": "apiVersion",
464             "columnName": "api_version",
465             "affinity": "INTEGER",
466             "notNull": true
467           },
468           {
469             "fieldPath": "showCommodityByDefault",
470             "columnName": "show_commodity_by_default",
471             "affinity": "INTEGER",
472             "notNull": true
473           },
474           {
475             "fieldPath": "defaultCommodity",
476             "columnName": "default_commodity",
477             "affinity": "TEXT",
478             "notNull": false
479           },
480           {
481             "fieldPath": "showCommentsByDefault",
482             "columnName": "show_comments_by_default",
483             "affinity": "INTEGER",
484             "notNull": true,
485             "defaultValue": "1"
486           },
487           {
488             "fieldPath": "detectedVersionPre_1_19",
489             "columnName": "detected_version_pre_1_19",
490             "affinity": "INTEGER",
491             "notNull": true
492           },
493           {
494             "fieldPath": "detectedVersionMajor",
495             "columnName": "detected_version_major",
496             "affinity": "INTEGER",
497             "notNull": true
498           },
499           {
500             "fieldPath": "detectedVersionMinor",
501             "columnName": "detected_version_minor",
502             "affinity": "INTEGER",
503             "notNull": true
504           }
505         ],
506         "primaryKey": {
507           "columnNames": [
508             "id"
509           ],
510           "autoGenerate": true
511         },
512         "indices": [],
513         "foreignKeys": []
514       },
515       {
516         "tableName": "options",
517         "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`profile_id` INTEGER NOT NULL, `name` TEXT NOT NULL, `value` TEXT, PRIMARY KEY(`profile_id`, `name`))",
518         "fields": [
519           {
520             "fieldPath": "profileId",
521             "columnName": "profile_id",
522             "affinity": "INTEGER",
523             "notNull": true
524           },
525           {
526             "fieldPath": "name",
527             "columnName": "name",
528             "affinity": "TEXT",
529             "notNull": true
530           },
531           {
532             "fieldPath": "value",
533             "columnName": "value",
534             "affinity": "TEXT",
535             "notNull": false
536           }
537         ],
538         "primaryKey": {
539           "columnNames": [
540             "profile_id",
541             "name"
542           ],
543           "autoGenerate": false
544         },
545         "indices": [],
546         "foreignKeys": []
547       },
548       {
549         "tableName": "account_values",
550         "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 )",
551         "fields": [
552           {
553             "fieldPath": "id",
554             "columnName": "id",
555             "affinity": "INTEGER",
556             "notNull": true
557           },
558           {
559             "fieldPath": "accountId",
560             "columnName": "account_id",
561             "affinity": "INTEGER",
562             "notNull": true
563           },
564           {
565             "fieldPath": "currency",
566             "columnName": "currency",
567             "affinity": "TEXT",
568             "notNull": true,
569             "defaultValue": "''"
570           },
571           {
572             "fieldPath": "value",
573             "columnName": "value",
574             "affinity": "REAL",
575             "notNull": true
576           },
577           {
578             "fieldPath": "generation",
579             "columnName": "generation",
580             "affinity": "INTEGER",
581             "notNull": true,
582             "defaultValue": "0"
583           }
584         ],
585         "primaryKey": {
586           "columnNames": [
587             "id"
588           ],
589           "autoGenerate": true
590         },
591         "indices": [
592           {
593             "name": "un_account_values",
594             "unique": true,
595             "columnNames": [
596               "account_id",
597               "currency"
598             ],
599             "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `un_account_values` ON `${TABLE_NAME}` (`account_id`, `currency`)"
600           },
601           {
602             "name": "fk_account_value_acc",
603             "unique": false,
604             "columnNames": [
605               "account_id"
606             ],
607             "createSql": "CREATE INDEX IF NOT EXISTS `fk_account_value_acc` ON `${TABLE_NAME}` (`account_id`)"
608           }
609         ],
610         "foreignKeys": [
611           {
612             "table": "accounts",
613             "onDelete": "CASCADE",
614             "onUpdate": "RESTRICT",
615             "columns": [
616               "account_id"
617             ],
618             "referencedColumns": [
619               "id"
620             ]
621           }
622         ]
623       },
624       {
625         "tableName": "transactions",
626         "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 )",
627         "fields": [
628           {
629             "fieldPath": "id",
630             "columnName": "id",
631             "affinity": "INTEGER",
632             "notNull": true
633           },
634           {
635             "fieldPath": "ledgerId",
636             "columnName": "ledger_id",
637             "affinity": "INTEGER",
638             "notNull": true
639           },
640           {
641             "fieldPath": "profileId",
642             "columnName": "profile_id",
643             "affinity": "INTEGER",
644             "notNull": true
645           },
646           {
647             "fieldPath": "dataHash",
648             "columnName": "data_hash",
649             "affinity": "TEXT",
650             "notNull": true
651           },
652           {
653             "fieldPath": "year",
654             "columnName": "year",
655             "affinity": "INTEGER",
656             "notNull": true
657           },
658           {
659             "fieldPath": "month",
660             "columnName": "month",
661             "affinity": "INTEGER",
662             "notNull": true
663           },
664           {
665             "fieldPath": "day",
666             "columnName": "day",
667             "affinity": "INTEGER",
668             "notNull": true
669           },
670           {
671             "fieldPath": "description",
672             "columnName": "description",
673             "affinity": "TEXT",
674             "notNull": true
675           },
676           {
677             "fieldPath": "descriptionUpper",
678             "columnName": "description_uc",
679             "affinity": "TEXT",
680             "notNull": true
681           },
682           {
683             "fieldPath": "comment",
684             "columnName": "comment",
685             "affinity": "TEXT",
686             "notNull": false
687           },
688           {
689             "fieldPath": "generation",
690             "columnName": "generation",
691             "affinity": "INTEGER",
692             "notNull": true
693           }
694         ],
695         "primaryKey": {
696           "columnNames": [
697             "id"
698           ],
699           "autoGenerate": true
700         },
701         "indices": [
702           {
703             "name": "un_transactions_ledger_id",
704             "unique": true,
705             "columnNames": [
706               "profile_id",
707               "ledger_id"
708             ],
709             "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `un_transactions_ledger_id` ON `${TABLE_NAME}` (`profile_id`, `ledger_id`)"
710           },
711           {
712             "name": "idx_transaction_description",
713             "unique": false,
714             "columnNames": [
715               "description"
716             ],
717             "createSql": "CREATE INDEX IF NOT EXISTS `idx_transaction_description` ON `${TABLE_NAME}` (`description`)"
718           },
719           {
720             "name": "fk_transaction_profile",
721             "unique": false,
722             "columnNames": [
723               "profile_id"
724             ],
725             "createSql": "CREATE INDEX IF NOT EXISTS `fk_transaction_profile` ON `${TABLE_NAME}` (`profile_id`)"
726           }
727         ],
728         "foreignKeys": [
729           {
730             "table": "profiles",
731             "onDelete": "CASCADE",
732             "onUpdate": "RESTRICT",
733             "columns": [
734               "profile_id"
735             ],
736             "referencedColumns": [
737               "id"
738             ]
739           }
740         ]
741       },
742       {
743         "tableName": "transaction_accounts",
744         "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 )",
745         "fields": [
746           {
747             "fieldPath": "id",
748             "columnName": "id",
749             "affinity": "INTEGER",
750             "notNull": true
751           },
752           {
753             "fieldPath": "transactionId",
754             "columnName": "transaction_id",
755             "affinity": "INTEGER",
756             "notNull": true
757           },
758           {
759             "fieldPath": "orderNo",
760             "columnName": "order_no",
761             "affinity": "INTEGER",
762             "notNull": true
763           },
764           {
765             "fieldPath": "accountName",
766             "columnName": "account_name",
767             "affinity": "TEXT",
768             "notNull": true
769           },
770           {
771             "fieldPath": "currency",
772             "columnName": "currency",
773             "affinity": "TEXT",
774             "notNull": true,
775             "defaultValue": "''"
776           },
777           {
778             "fieldPath": "amount",
779             "columnName": "amount",
780             "affinity": "REAL",
781             "notNull": true
782           },
783           {
784             "fieldPath": "comment",
785             "columnName": "comment",
786             "affinity": "TEXT",
787             "notNull": false
788           },
789           {
790             "fieldPath": "generation",
791             "columnName": "generation",
792             "affinity": "INTEGER",
793             "notNull": true,
794             "defaultValue": "0"
795           }
796         ],
797         "primaryKey": {
798           "columnNames": [
799             "id"
800           ],
801           "autoGenerate": true
802         },
803         "indices": [
804           {
805             "name": "fk_trans_acc_trans",
806             "unique": false,
807             "columnNames": [
808               "transaction_id"
809             ],
810             "createSql": "CREATE INDEX IF NOT EXISTS `fk_trans_acc_trans` ON `${TABLE_NAME}` (`transaction_id`)"
811           },
812           {
813             "name": "un_transaction_accounts",
814             "unique": true,
815             "columnNames": [
816               "transaction_id",
817               "order_no"
818             ],
819             "createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `un_transaction_accounts` ON `${TABLE_NAME}` (`transaction_id`, `order_no`)"
820           }
821         ],
822         "foreignKeys": [
823           {
824             "table": "transactions",
825             "onDelete": "CASCADE",
826             "onUpdate": "RESTRICT",
827             "columns": [
828               "transaction_id"
829             ],
830             "referencedColumns": [
831               "id"
832             ]
833           }
834         ]
835       }
836     ],
837     "views": [],
838     "setupQueries": [
839       "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
840       "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '69591403d82a378a35d1f22e7e8f637f')"
841     ]
842   }
843 }