truecourse 0.1.9 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1715 @@
1
+ {
2
+ "id": "ff05be8c-e5be-4df9-8db4-8e005bb02f4e",
3
+ "prevId": "a3aef80e-7786-4388-b892-11d251ed9eec",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.analyses": {
8
+ "name": "analyses",
9
+ "schema": "",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "uuid",
14
+ "primaryKey": true,
15
+ "notNull": true,
16
+ "default": "gen_random_uuid()"
17
+ },
18
+ "repo_id": {
19
+ "name": "repo_id",
20
+ "type": "uuid",
21
+ "primaryKey": false,
22
+ "notNull": true
23
+ },
24
+ "branch": {
25
+ "name": "branch",
26
+ "type": "text",
27
+ "primaryKey": false,
28
+ "notNull": false
29
+ },
30
+ "architecture": {
31
+ "name": "architecture",
32
+ "type": "text",
33
+ "primaryKey": false,
34
+ "notNull": true
35
+ },
36
+ "metadata": {
37
+ "name": "metadata",
38
+ "type": "jsonb",
39
+ "primaryKey": false,
40
+ "notNull": false
41
+ },
42
+ "node_positions": {
43
+ "name": "node_positions",
44
+ "type": "jsonb",
45
+ "primaryKey": false,
46
+ "notNull": false
47
+ },
48
+ "created_at": {
49
+ "name": "created_at",
50
+ "type": "timestamp with time zone",
51
+ "primaryKey": false,
52
+ "notNull": true,
53
+ "default": "now()"
54
+ }
55
+ },
56
+ "indexes": {},
57
+ "foreignKeys": {
58
+ "analyses_repo_id_repos_id_fk": {
59
+ "name": "analyses_repo_id_repos_id_fk",
60
+ "tableFrom": "analyses",
61
+ "tableTo": "repos",
62
+ "columnsFrom": [
63
+ "repo_id"
64
+ ],
65
+ "columnsTo": [
66
+ "id"
67
+ ],
68
+ "onDelete": "cascade",
69
+ "onUpdate": "no action"
70
+ }
71
+ },
72
+ "compositePrimaryKeys": {},
73
+ "uniqueConstraints": {},
74
+ "policies": {},
75
+ "checkConstraints": {},
76
+ "isRLSEnabled": false
77
+ },
78
+ "public.code_violations": {
79
+ "name": "code_violations",
80
+ "schema": "",
81
+ "columns": {
82
+ "id": {
83
+ "name": "id",
84
+ "type": "uuid",
85
+ "primaryKey": true,
86
+ "notNull": true,
87
+ "default": "gen_random_uuid()"
88
+ },
89
+ "analysis_id": {
90
+ "name": "analysis_id",
91
+ "type": "uuid",
92
+ "primaryKey": false,
93
+ "notNull": true
94
+ },
95
+ "file_path": {
96
+ "name": "file_path",
97
+ "type": "text",
98
+ "primaryKey": false,
99
+ "notNull": true
100
+ },
101
+ "line_start": {
102
+ "name": "line_start",
103
+ "type": "integer",
104
+ "primaryKey": false,
105
+ "notNull": true
106
+ },
107
+ "line_end": {
108
+ "name": "line_end",
109
+ "type": "integer",
110
+ "primaryKey": false,
111
+ "notNull": true
112
+ },
113
+ "column_start": {
114
+ "name": "column_start",
115
+ "type": "integer",
116
+ "primaryKey": false,
117
+ "notNull": true
118
+ },
119
+ "column_end": {
120
+ "name": "column_end",
121
+ "type": "integer",
122
+ "primaryKey": false,
123
+ "notNull": true
124
+ },
125
+ "rule_key": {
126
+ "name": "rule_key",
127
+ "type": "text",
128
+ "primaryKey": false,
129
+ "notNull": true
130
+ },
131
+ "severity": {
132
+ "name": "severity",
133
+ "type": "text",
134
+ "primaryKey": false,
135
+ "notNull": true
136
+ },
137
+ "title": {
138
+ "name": "title",
139
+ "type": "text",
140
+ "primaryKey": false,
141
+ "notNull": true
142
+ },
143
+ "content": {
144
+ "name": "content",
145
+ "type": "text",
146
+ "primaryKey": false,
147
+ "notNull": true
148
+ },
149
+ "snippet": {
150
+ "name": "snippet",
151
+ "type": "text",
152
+ "primaryKey": false,
153
+ "notNull": true
154
+ },
155
+ "fix_prompt": {
156
+ "name": "fix_prompt",
157
+ "type": "text",
158
+ "primaryKey": false,
159
+ "notNull": false
160
+ },
161
+ "created_at": {
162
+ "name": "created_at",
163
+ "type": "timestamp with time zone",
164
+ "primaryKey": false,
165
+ "notNull": true,
166
+ "default": "now()"
167
+ }
168
+ },
169
+ "indexes": {},
170
+ "foreignKeys": {
171
+ "code_violations_analysis_id_analyses_id_fk": {
172
+ "name": "code_violations_analysis_id_analyses_id_fk",
173
+ "tableFrom": "code_violations",
174
+ "tableTo": "analyses",
175
+ "columnsFrom": [
176
+ "analysis_id"
177
+ ],
178
+ "columnsTo": [
179
+ "id"
180
+ ],
181
+ "onDelete": "cascade",
182
+ "onUpdate": "no action"
183
+ }
184
+ },
185
+ "compositePrimaryKeys": {},
186
+ "uniqueConstraints": {},
187
+ "policies": {},
188
+ "checkConstraints": {},
189
+ "isRLSEnabled": false
190
+ },
191
+ "public.conversations": {
192
+ "name": "conversations",
193
+ "schema": "",
194
+ "columns": {
195
+ "id": {
196
+ "name": "id",
197
+ "type": "uuid",
198
+ "primaryKey": true,
199
+ "notNull": true,
200
+ "default": "gen_random_uuid()"
201
+ },
202
+ "repo_id": {
203
+ "name": "repo_id",
204
+ "type": "uuid",
205
+ "primaryKey": false,
206
+ "notNull": true
207
+ },
208
+ "branch": {
209
+ "name": "branch",
210
+ "type": "text",
211
+ "primaryKey": false,
212
+ "notNull": false
213
+ },
214
+ "created_at": {
215
+ "name": "created_at",
216
+ "type": "timestamp with time zone",
217
+ "primaryKey": false,
218
+ "notNull": true,
219
+ "default": "now()"
220
+ },
221
+ "updated_at": {
222
+ "name": "updated_at",
223
+ "type": "timestamp with time zone",
224
+ "primaryKey": false,
225
+ "notNull": true,
226
+ "default": "now()"
227
+ }
228
+ },
229
+ "indexes": {},
230
+ "foreignKeys": {
231
+ "conversations_repo_id_repos_id_fk": {
232
+ "name": "conversations_repo_id_repos_id_fk",
233
+ "tableFrom": "conversations",
234
+ "tableTo": "repos",
235
+ "columnsFrom": [
236
+ "repo_id"
237
+ ],
238
+ "columnsTo": [
239
+ "id"
240
+ ],
241
+ "onDelete": "cascade",
242
+ "onUpdate": "no action"
243
+ }
244
+ },
245
+ "compositePrimaryKeys": {},
246
+ "uniqueConstraints": {},
247
+ "policies": {},
248
+ "checkConstraints": {},
249
+ "isRLSEnabled": false
250
+ },
251
+ "public.database_connections": {
252
+ "name": "database_connections",
253
+ "schema": "",
254
+ "columns": {
255
+ "id": {
256
+ "name": "id",
257
+ "type": "uuid",
258
+ "primaryKey": true,
259
+ "notNull": true,
260
+ "default": "gen_random_uuid()"
261
+ },
262
+ "analysis_id": {
263
+ "name": "analysis_id",
264
+ "type": "uuid",
265
+ "primaryKey": false,
266
+ "notNull": true
267
+ },
268
+ "service_id": {
269
+ "name": "service_id",
270
+ "type": "uuid",
271
+ "primaryKey": false,
272
+ "notNull": true
273
+ },
274
+ "database_id": {
275
+ "name": "database_id",
276
+ "type": "uuid",
277
+ "primaryKey": false,
278
+ "notNull": true
279
+ },
280
+ "driver": {
281
+ "name": "driver",
282
+ "type": "text",
283
+ "primaryKey": false,
284
+ "notNull": true
285
+ }
286
+ },
287
+ "indexes": {},
288
+ "foreignKeys": {
289
+ "database_connections_analysis_id_analyses_id_fk": {
290
+ "name": "database_connections_analysis_id_analyses_id_fk",
291
+ "tableFrom": "database_connections",
292
+ "tableTo": "analyses",
293
+ "columnsFrom": [
294
+ "analysis_id"
295
+ ],
296
+ "columnsTo": [
297
+ "id"
298
+ ],
299
+ "onDelete": "cascade",
300
+ "onUpdate": "no action"
301
+ },
302
+ "database_connections_service_id_services_id_fk": {
303
+ "name": "database_connections_service_id_services_id_fk",
304
+ "tableFrom": "database_connections",
305
+ "tableTo": "services",
306
+ "columnsFrom": [
307
+ "service_id"
308
+ ],
309
+ "columnsTo": [
310
+ "id"
311
+ ],
312
+ "onDelete": "cascade",
313
+ "onUpdate": "no action"
314
+ },
315
+ "database_connections_database_id_databases_id_fk": {
316
+ "name": "database_connections_database_id_databases_id_fk",
317
+ "tableFrom": "database_connections",
318
+ "tableTo": "databases",
319
+ "columnsFrom": [
320
+ "database_id"
321
+ ],
322
+ "columnsTo": [
323
+ "id"
324
+ ],
325
+ "onDelete": "cascade",
326
+ "onUpdate": "no action"
327
+ }
328
+ },
329
+ "compositePrimaryKeys": {},
330
+ "uniqueConstraints": {},
331
+ "policies": {},
332
+ "checkConstraints": {},
333
+ "isRLSEnabled": false
334
+ },
335
+ "public.databases": {
336
+ "name": "databases",
337
+ "schema": "",
338
+ "columns": {
339
+ "id": {
340
+ "name": "id",
341
+ "type": "uuid",
342
+ "primaryKey": true,
343
+ "notNull": true,
344
+ "default": "gen_random_uuid()"
345
+ },
346
+ "analysis_id": {
347
+ "name": "analysis_id",
348
+ "type": "uuid",
349
+ "primaryKey": false,
350
+ "notNull": true
351
+ },
352
+ "name": {
353
+ "name": "name",
354
+ "type": "text",
355
+ "primaryKey": false,
356
+ "notNull": true
357
+ },
358
+ "type": {
359
+ "name": "type",
360
+ "type": "text",
361
+ "primaryKey": false,
362
+ "notNull": true
363
+ },
364
+ "driver": {
365
+ "name": "driver",
366
+ "type": "text",
367
+ "primaryKey": false,
368
+ "notNull": true
369
+ },
370
+ "connection_config": {
371
+ "name": "connection_config",
372
+ "type": "jsonb",
373
+ "primaryKey": false,
374
+ "notNull": false
375
+ },
376
+ "tables": {
377
+ "name": "tables",
378
+ "type": "jsonb",
379
+ "primaryKey": false,
380
+ "notNull": false
381
+ },
382
+ "db_relations": {
383
+ "name": "db_relations",
384
+ "type": "jsonb",
385
+ "primaryKey": false,
386
+ "notNull": false
387
+ },
388
+ "connected_services": {
389
+ "name": "connected_services",
390
+ "type": "jsonb",
391
+ "primaryKey": false,
392
+ "notNull": false
393
+ },
394
+ "created_at": {
395
+ "name": "created_at",
396
+ "type": "timestamp with time zone",
397
+ "primaryKey": false,
398
+ "notNull": true,
399
+ "default": "now()"
400
+ }
401
+ },
402
+ "indexes": {},
403
+ "foreignKeys": {
404
+ "databases_analysis_id_analyses_id_fk": {
405
+ "name": "databases_analysis_id_analyses_id_fk",
406
+ "tableFrom": "databases",
407
+ "tableTo": "analyses",
408
+ "columnsFrom": [
409
+ "analysis_id"
410
+ ],
411
+ "columnsTo": [
412
+ "id"
413
+ ],
414
+ "onDelete": "cascade",
415
+ "onUpdate": "no action"
416
+ }
417
+ },
418
+ "compositePrimaryKeys": {},
419
+ "uniqueConstraints": {},
420
+ "policies": {},
421
+ "checkConstraints": {},
422
+ "isRLSEnabled": false
423
+ },
424
+ "public.diff_checks": {
425
+ "name": "diff_checks",
426
+ "schema": "",
427
+ "columns": {
428
+ "id": {
429
+ "name": "id",
430
+ "type": "uuid",
431
+ "primaryKey": true,
432
+ "notNull": true,
433
+ "default": "gen_random_uuid()"
434
+ },
435
+ "repo_id": {
436
+ "name": "repo_id",
437
+ "type": "uuid",
438
+ "primaryKey": false,
439
+ "notNull": true
440
+ },
441
+ "analysis_id": {
442
+ "name": "analysis_id",
443
+ "type": "uuid",
444
+ "primaryKey": false,
445
+ "notNull": true
446
+ },
447
+ "diff_analysis_id": {
448
+ "name": "diff_analysis_id",
449
+ "type": "uuid",
450
+ "primaryKey": false,
451
+ "notNull": false
452
+ },
453
+ "changed_files": {
454
+ "name": "changed_files",
455
+ "type": "jsonb",
456
+ "primaryKey": false,
457
+ "notNull": true
458
+ },
459
+ "resolved_violation_ids": {
460
+ "name": "resolved_violation_ids",
461
+ "type": "jsonb",
462
+ "primaryKey": false,
463
+ "notNull": true
464
+ },
465
+ "new_violations": {
466
+ "name": "new_violations",
467
+ "type": "jsonb",
468
+ "primaryKey": false,
469
+ "notNull": true
470
+ },
471
+ "affected_node_ids": {
472
+ "name": "affected_node_ids",
473
+ "type": "jsonb",
474
+ "primaryKey": false,
475
+ "notNull": true
476
+ },
477
+ "summary": {
478
+ "name": "summary",
479
+ "type": "jsonb",
480
+ "primaryKey": false,
481
+ "notNull": true
482
+ },
483
+ "created_at": {
484
+ "name": "created_at",
485
+ "type": "timestamp with time zone",
486
+ "primaryKey": false,
487
+ "notNull": true,
488
+ "default": "now()"
489
+ }
490
+ },
491
+ "indexes": {},
492
+ "foreignKeys": {
493
+ "diff_checks_repo_id_repos_id_fk": {
494
+ "name": "diff_checks_repo_id_repos_id_fk",
495
+ "tableFrom": "diff_checks",
496
+ "tableTo": "repos",
497
+ "columnsFrom": [
498
+ "repo_id"
499
+ ],
500
+ "columnsTo": [
501
+ "id"
502
+ ],
503
+ "onDelete": "cascade",
504
+ "onUpdate": "no action"
505
+ },
506
+ "diff_checks_analysis_id_analyses_id_fk": {
507
+ "name": "diff_checks_analysis_id_analyses_id_fk",
508
+ "tableFrom": "diff_checks",
509
+ "tableTo": "analyses",
510
+ "columnsFrom": [
511
+ "analysis_id"
512
+ ],
513
+ "columnsTo": [
514
+ "id"
515
+ ],
516
+ "onDelete": "cascade",
517
+ "onUpdate": "no action"
518
+ },
519
+ "diff_checks_diff_analysis_id_analyses_id_fk": {
520
+ "name": "diff_checks_diff_analysis_id_analyses_id_fk",
521
+ "tableFrom": "diff_checks",
522
+ "tableTo": "analyses",
523
+ "columnsFrom": [
524
+ "diff_analysis_id"
525
+ ],
526
+ "columnsTo": [
527
+ "id"
528
+ ],
529
+ "onDelete": "set null",
530
+ "onUpdate": "no action"
531
+ }
532
+ },
533
+ "compositePrimaryKeys": {},
534
+ "uniqueConstraints": {},
535
+ "policies": {},
536
+ "checkConstraints": {},
537
+ "isRLSEnabled": false
538
+ },
539
+ "public.layer_dependencies": {
540
+ "name": "layer_dependencies",
541
+ "schema": "",
542
+ "columns": {
543
+ "id": {
544
+ "name": "id",
545
+ "type": "uuid",
546
+ "primaryKey": true,
547
+ "notNull": true,
548
+ "default": "gen_random_uuid()"
549
+ },
550
+ "analysis_id": {
551
+ "name": "analysis_id",
552
+ "type": "uuid",
553
+ "primaryKey": false,
554
+ "notNull": true
555
+ },
556
+ "source_service_name": {
557
+ "name": "source_service_name",
558
+ "type": "text",
559
+ "primaryKey": false,
560
+ "notNull": true
561
+ },
562
+ "source_layer": {
563
+ "name": "source_layer",
564
+ "type": "text",
565
+ "primaryKey": false,
566
+ "notNull": true
567
+ },
568
+ "target_service_name": {
569
+ "name": "target_service_name",
570
+ "type": "text",
571
+ "primaryKey": false,
572
+ "notNull": true
573
+ },
574
+ "target_layer": {
575
+ "name": "target_layer",
576
+ "type": "text",
577
+ "primaryKey": false,
578
+ "notNull": true
579
+ },
580
+ "dependency_count": {
581
+ "name": "dependency_count",
582
+ "type": "integer",
583
+ "primaryKey": false,
584
+ "notNull": true
585
+ },
586
+ "is_violation": {
587
+ "name": "is_violation",
588
+ "type": "boolean",
589
+ "primaryKey": false,
590
+ "notNull": true,
591
+ "default": false
592
+ },
593
+ "violation_reason": {
594
+ "name": "violation_reason",
595
+ "type": "text",
596
+ "primaryKey": false,
597
+ "notNull": false
598
+ }
599
+ },
600
+ "indexes": {},
601
+ "foreignKeys": {
602
+ "layer_dependencies_analysis_id_analyses_id_fk": {
603
+ "name": "layer_dependencies_analysis_id_analyses_id_fk",
604
+ "tableFrom": "layer_dependencies",
605
+ "tableTo": "analyses",
606
+ "columnsFrom": [
607
+ "analysis_id"
608
+ ],
609
+ "columnsTo": [
610
+ "id"
611
+ ],
612
+ "onDelete": "cascade",
613
+ "onUpdate": "no action"
614
+ }
615
+ },
616
+ "compositePrimaryKeys": {},
617
+ "uniqueConstraints": {},
618
+ "policies": {},
619
+ "checkConstraints": {},
620
+ "isRLSEnabled": false
621
+ },
622
+ "public.layers": {
623
+ "name": "layers",
624
+ "schema": "",
625
+ "columns": {
626
+ "id": {
627
+ "name": "id",
628
+ "type": "uuid",
629
+ "primaryKey": true,
630
+ "notNull": true,
631
+ "default": "gen_random_uuid()"
632
+ },
633
+ "analysis_id": {
634
+ "name": "analysis_id",
635
+ "type": "uuid",
636
+ "primaryKey": false,
637
+ "notNull": true
638
+ },
639
+ "service_id": {
640
+ "name": "service_id",
641
+ "type": "uuid",
642
+ "primaryKey": false,
643
+ "notNull": true
644
+ },
645
+ "service_name": {
646
+ "name": "service_name",
647
+ "type": "text",
648
+ "primaryKey": false,
649
+ "notNull": true
650
+ },
651
+ "layer": {
652
+ "name": "layer",
653
+ "type": "text",
654
+ "primaryKey": false,
655
+ "notNull": true
656
+ },
657
+ "file_count": {
658
+ "name": "file_count",
659
+ "type": "integer",
660
+ "primaryKey": false,
661
+ "notNull": true
662
+ },
663
+ "file_paths": {
664
+ "name": "file_paths",
665
+ "type": "jsonb",
666
+ "primaryKey": false,
667
+ "notNull": true
668
+ },
669
+ "confidence": {
670
+ "name": "confidence",
671
+ "type": "integer",
672
+ "primaryKey": false,
673
+ "notNull": true
674
+ },
675
+ "evidence": {
676
+ "name": "evidence",
677
+ "type": "jsonb",
678
+ "primaryKey": false,
679
+ "notNull": true
680
+ }
681
+ },
682
+ "indexes": {},
683
+ "foreignKeys": {
684
+ "layers_analysis_id_analyses_id_fk": {
685
+ "name": "layers_analysis_id_analyses_id_fk",
686
+ "tableFrom": "layers",
687
+ "tableTo": "analyses",
688
+ "columnsFrom": [
689
+ "analysis_id"
690
+ ],
691
+ "columnsTo": [
692
+ "id"
693
+ ],
694
+ "onDelete": "cascade",
695
+ "onUpdate": "no action"
696
+ },
697
+ "layers_service_id_services_id_fk": {
698
+ "name": "layers_service_id_services_id_fk",
699
+ "tableFrom": "layers",
700
+ "tableTo": "services",
701
+ "columnsFrom": [
702
+ "service_id"
703
+ ],
704
+ "columnsTo": [
705
+ "id"
706
+ ],
707
+ "onDelete": "cascade",
708
+ "onUpdate": "no action"
709
+ }
710
+ },
711
+ "compositePrimaryKeys": {},
712
+ "uniqueConstraints": {},
713
+ "policies": {},
714
+ "checkConstraints": {},
715
+ "isRLSEnabled": false
716
+ },
717
+ "public.messages": {
718
+ "name": "messages",
719
+ "schema": "",
720
+ "columns": {
721
+ "id": {
722
+ "name": "id",
723
+ "type": "uuid",
724
+ "primaryKey": true,
725
+ "notNull": true,
726
+ "default": "gen_random_uuid()"
727
+ },
728
+ "conversation_id": {
729
+ "name": "conversation_id",
730
+ "type": "uuid",
731
+ "primaryKey": false,
732
+ "notNull": true
733
+ },
734
+ "role": {
735
+ "name": "role",
736
+ "type": "text",
737
+ "primaryKey": false,
738
+ "notNull": true
739
+ },
740
+ "content": {
741
+ "name": "content",
742
+ "type": "text",
743
+ "primaryKey": false,
744
+ "notNull": true
745
+ },
746
+ "node_context": {
747
+ "name": "node_context",
748
+ "type": "jsonb",
749
+ "primaryKey": false,
750
+ "notNull": false
751
+ },
752
+ "created_at": {
753
+ "name": "created_at",
754
+ "type": "timestamp with time zone",
755
+ "primaryKey": false,
756
+ "notNull": true,
757
+ "default": "now()"
758
+ }
759
+ },
760
+ "indexes": {},
761
+ "foreignKeys": {
762
+ "messages_conversation_id_conversations_id_fk": {
763
+ "name": "messages_conversation_id_conversations_id_fk",
764
+ "tableFrom": "messages",
765
+ "tableTo": "conversations",
766
+ "columnsFrom": [
767
+ "conversation_id"
768
+ ],
769
+ "columnsTo": [
770
+ "id"
771
+ ],
772
+ "onDelete": "cascade",
773
+ "onUpdate": "no action"
774
+ }
775
+ },
776
+ "compositePrimaryKeys": {},
777
+ "uniqueConstraints": {},
778
+ "policies": {},
779
+ "checkConstraints": {},
780
+ "isRLSEnabled": false
781
+ },
782
+ "public.method_dependencies": {
783
+ "name": "method_dependencies",
784
+ "schema": "",
785
+ "columns": {
786
+ "id": {
787
+ "name": "id",
788
+ "type": "uuid",
789
+ "primaryKey": true,
790
+ "notNull": true,
791
+ "default": "gen_random_uuid()"
792
+ },
793
+ "analysis_id": {
794
+ "name": "analysis_id",
795
+ "type": "uuid",
796
+ "primaryKey": false,
797
+ "notNull": true
798
+ },
799
+ "source_method_id": {
800
+ "name": "source_method_id",
801
+ "type": "uuid",
802
+ "primaryKey": false,
803
+ "notNull": true
804
+ },
805
+ "target_method_id": {
806
+ "name": "target_method_id",
807
+ "type": "uuid",
808
+ "primaryKey": false,
809
+ "notNull": true
810
+ },
811
+ "call_count": {
812
+ "name": "call_count",
813
+ "type": "integer",
814
+ "primaryKey": false,
815
+ "notNull": true,
816
+ "default": 1
817
+ }
818
+ },
819
+ "indexes": {},
820
+ "foreignKeys": {
821
+ "method_dependencies_analysis_id_analyses_id_fk": {
822
+ "name": "method_dependencies_analysis_id_analyses_id_fk",
823
+ "tableFrom": "method_dependencies",
824
+ "tableTo": "analyses",
825
+ "columnsFrom": [
826
+ "analysis_id"
827
+ ],
828
+ "columnsTo": [
829
+ "id"
830
+ ],
831
+ "onDelete": "cascade",
832
+ "onUpdate": "no action"
833
+ },
834
+ "method_dependencies_source_method_id_methods_id_fk": {
835
+ "name": "method_dependencies_source_method_id_methods_id_fk",
836
+ "tableFrom": "method_dependencies",
837
+ "tableTo": "methods",
838
+ "columnsFrom": [
839
+ "source_method_id"
840
+ ],
841
+ "columnsTo": [
842
+ "id"
843
+ ],
844
+ "onDelete": "cascade",
845
+ "onUpdate": "no action"
846
+ },
847
+ "method_dependencies_target_method_id_methods_id_fk": {
848
+ "name": "method_dependencies_target_method_id_methods_id_fk",
849
+ "tableFrom": "method_dependencies",
850
+ "tableTo": "methods",
851
+ "columnsFrom": [
852
+ "target_method_id"
853
+ ],
854
+ "columnsTo": [
855
+ "id"
856
+ ],
857
+ "onDelete": "cascade",
858
+ "onUpdate": "no action"
859
+ }
860
+ },
861
+ "compositePrimaryKeys": {},
862
+ "uniqueConstraints": {},
863
+ "policies": {},
864
+ "checkConstraints": {},
865
+ "isRLSEnabled": false
866
+ },
867
+ "public.methods": {
868
+ "name": "methods",
869
+ "schema": "",
870
+ "columns": {
871
+ "id": {
872
+ "name": "id",
873
+ "type": "uuid",
874
+ "primaryKey": true,
875
+ "notNull": true,
876
+ "default": "gen_random_uuid()"
877
+ },
878
+ "analysis_id": {
879
+ "name": "analysis_id",
880
+ "type": "uuid",
881
+ "primaryKey": false,
882
+ "notNull": true
883
+ },
884
+ "module_id": {
885
+ "name": "module_id",
886
+ "type": "uuid",
887
+ "primaryKey": false,
888
+ "notNull": true
889
+ },
890
+ "name": {
891
+ "name": "name",
892
+ "type": "text",
893
+ "primaryKey": false,
894
+ "notNull": true
895
+ },
896
+ "signature": {
897
+ "name": "signature",
898
+ "type": "text",
899
+ "primaryKey": false,
900
+ "notNull": true
901
+ },
902
+ "param_count": {
903
+ "name": "param_count",
904
+ "type": "integer",
905
+ "primaryKey": false,
906
+ "notNull": true,
907
+ "default": 0
908
+ },
909
+ "return_type": {
910
+ "name": "return_type",
911
+ "type": "text",
912
+ "primaryKey": false,
913
+ "notNull": false
914
+ },
915
+ "is_async": {
916
+ "name": "is_async",
917
+ "type": "boolean",
918
+ "primaryKey": false,
919
+ "notNull": true,
920
+ "default": false
921
+ },
922
+ "is_exported": {
923
+ "name": "is_exported",
924
+ "type": "boolean",
925
+ "primaryKey": false,
926
+ "notNull": true,
927
+ "default": false
928
+ },
929
+ "line_count": {
930
+ "name": "line_count",
931
+ "type": "integer",
932
+ "primaryKey": false,
933
+ "notNull": false
934
+ },
935
+ "statement_count": {
936
+ "name": "statement_count",
937
+ "type": "integer",
938
+ "primaryKey": false,
939
+ "notNull": false
940
+ },
941
+ "max_nesting_depth": {
942
+ "name": "max_nesting_depth",
943
+ "type": "integer",
944
+ "primaryKey": false,
945
+ "notNull": false
946
+ }
947
+ },
948
+ "indexes": {},
949
+ "foreignKeys": {
950
+ "methods_analysis_id_analyses_id_fk": {
951
+ "name": "methods_analysis_id_analyses_id_fk",
952
+ "tableFrom": "methods",
953
+ "tableTo": "analyses",
954
+ "columnsFrom": [
955
+ "analysis_id"
956
+ ],
957
+ "columnsTo": [
958
+ "id"
959
+ ],
960
+ "onDelete": "cascade",
961
+ "onUpdate": "no action"
962
+ },
963
+ "methods_module_id_modules_id_fk": {
964
+ "name": "methods_module_id_modules_id_fk",
965
+ "tableFrom": "methods",
966
+ "tableTo": "modules",
967
+ "columnsFrom": [
968
+ "module_id"
969
+ ],
970
+ "columnsTo": [
971
+ "id"
972
+ ],
973
+ "onDelete": "cascade",
974
+ "onUpdate": "no action"
975
+ }
976
+ },
977
+ "compositePrimaryKeys": {},
978
+ "uniqueConstraints": {},
979
+ "policies": {},
980
+ "checkConstraints": {},
981
+ "isRLSEnabled": false
982
+ },
983
+ "public.module_dependencies": {
984
+ "name": "module_dependencies",
985
+ "schema": "",
986
+ "columns": {
987
+ "id": {
988
+ "name": "id",
989
+ "type": "uuid",
990
+ "primaryKey": true,
991
+ "notNull": true,
992
+ "default": "gen_random_uuid()"
993
+ },
994
+ "analysis_id": {
995
+ "name": "analysis_id",
996
+ "type": "uuid",
997
+ "primaryKey": false,
998
+ "notNull": true
999
+ },
1000
+ "source_module_id": {
1001
+ "name": "source_module_id",
1002
+ "type": "uuid",
1003
+ "primaryKey": false,
1004
+ "notNull": true
1005
+ },
1006
+ "target_module_id": {
1007
+ "name": "target_module_id",
1008
+ "type": "uuid",
1009
+ "primaryKey": false,
1010
+ "notNull": true
1011
+ },
1012
+ "imported_names": {
1013
+ "name": "imported_names",
1014
+ "type": "jsonb",
1015
+ "primaryKey": false,
1016
+ "notNull": true
1017
+ },
1018
+ "dependency_count": {
1019
+ "name": "dependency_count",
1020
+ "type": "integer",
1021
+ "primaryKey": false,
1022
+ "notNull": true,
1023
+ "default": 1
1024
+ }
1025
+ },
1026
+ "indexes": {},
1027
+ "foreignKeys": {
1028
+ "module_dependencies_analysis_id_analyses_id_fk": {
1029
+ "name": "module_dependencies_analysis_id_analyses_id_fk",
1030
+ "tableFrom": "module_dependencies",
1031
+ "tableTo": "analyses",
1032
+ "columnsFrom": [
1033
+ "analysis_id"
1034
+ ],
1035
+ "columnsTo": [
1036
+ "id"
1037
+ ],
1038
+ "onDelete": "cascade",
1039
+ "onUpdate": "no action"
1040
+ },
1041
+ "module_dependencies_source_module_id_modules_id_fk": {
1042
+ "name": "module_dependencies_source_module_id_modules_id_fk",
1043
+ "tableFrom": "module_dependencies",
1044
+ "tableTo": "modules",
1045
+ "columnsFrom": [
1046
+ "source_module_id"
1047
+ ],
1048
+ "columnsTo": [
1049
+ "id"
1050
+ ],
1051
+ "onDelete": "cascade",
1052
+ "onUpdate": "no action"
1053
+ },
1054
+ "module_dependencies_target_module_id_modules_id_fk": {
1055
+ "name": "module_dependencies_target_module_id_modules_id_fk",
1056
+ "tableFrom": "module_dependencies",
1057
+ "tableTo": "modules",
1058
+ "columnsFrom": [
1059
+ "target_module_id"
1060
+ ],
1061
+ "columnsTo": [
1062
+ "id"
1063
+ ],
1064
+ "onDelete": "cascade",
1065
+ "onUpdate": "no action"
1066
+ }
1067
+ },
1068
+ "compositePrimaryKeys": {},
1069
+ "uniqueConstraints": {},
1070
+ "policies": {},
1071
+ "checkConstraints": {},
1072
+ "isRLSEnabled": false
1073
+ },
1074
+ "public.modules": {
1075
+ "name": "modules",
1076
+ "schema": "",
1077
+ "columns": {
1078
+ "id": {
1079
+ "name": "id",
1080
+ "type": "uuid",
1081
+ "primaryKey": true,
1082
+ "notNull": true,
1083
+ "default": "gen_random_uuid()"
1084
+ },
1085
+ "analysis_id": {
1086
+ "name": "analysis_id",
1087
+ "type": "uuid",
1088
+ "primaryKey": false,
1089
+ "notNull": true
1090
+ },
1091
+ "layer_id": {
1092
+ "name": "layer_id",
1093
+ "type": "uuid",
1094
+ "primaryKey": false,
1095
+ "notNull": true
1096
+ },
1097
+ "service_id": {
1098
+ "name": "service_id",
1099
+ "type": "uuid",
1100
+ "primaryKey": false,
1101
+ "notNull": true
1102
+ },
1103
+ "name": {
1104
+ "name": "name",
1105
+ "type": "text",
1106
+ "primaryKey": false,
1107
+ "notNull": true
1108
+ },
1109
+ "kind": {
1110
+ "name": "kind",
1111
+ "type": "text",
1112
+ "primaryKey": false,
1113
+ "notNull": true
1114
+ },
1115
+ "file_path": {
1116
+ "name": "file_path",
1117
+ "type": "text",
1118
+ "primaryKey": false,
1119
+ "notNull": true
1120
+ },
1121
+ "method_count": {
1122
+ "name": "method_count",
1123
+ "type": "integer",
1124
+ "primaryKey": false,
1125
+ "notNull": true,
1126
+ "default": 0
1127
+ },
1128
+ "property_count": {
1129
+ "name": "property_count",
1130
+ "type": "integer",
1131
+ "primaryKey": false,
1132
+ "notNull": true,
1133
+ "default": 0
1134
+ },
1135
+ "import_count": {
1136
+ "name": "import_count",
1137
+ "type": "integer",
1138
+ "primaryKey": false,
1139
+ "notNull": true,
1140
+ "default": 0
1141
+ },
1142
+ "export_count": {
1143
+ "name": "export_count",
1144
+ "type": "integer",
1145
+ "primaryKey": false,
1146
+ "notNull": true,
1147
+ "default": 0
1148
+ },
1149
+ "super_class": {
1150
+ "name": "super_class",
1151
+ "type": "text",
1152
+ "primaryKey": false,
1153
+ "notNull": false
1154
+ },
1155
+ "line_count": {
1156
+ "name": "line_count",
1157
+ "type": "integer",
1158
+ "primaryKey": false,
1159
+ "notNull": false
1160
+ }
1161
+ },
1162
+ "indexes": {},
1163
+ "foreignKeys": {
1164
+ "modules_analysis_id_analyses_id_fk": {
1165
+ "name": "modules_analysis_id_analyses_id_fk",
1166
+ "tableFrom": "modules",
1167
+ "tableTo": "analyses",
1168
+ "columnsFrom": [
1169
+ "analysis_id"
1170
+ ],
1171
+ "columnsTo": [
1172
+ "id"
1173
+ ],
1174
+ "onDelete": "cascade",
1175
+ "onUpdate": "no action"
1176
+ },
1177
+ "modules_layer_id_layers_id_fk": {
1178
+ "name": "modules_layer_id_layers_id_fk",
1179
+ "tableFrom": "modules",
1180
+ "tableTo": "layers",
1181
+ "columnsFrom": [
1182
+ "layer_id"
1183
+ ],
1184
+ "columnsTo": [
1185
+ "id"
1186
+ ],
1187
+ "onDelete": "cascade",
1188
+ "onUpdate": "no action"
1189
+ },
1190
+ "modules_service_id_services_id_fk": {
1191
+ "name": "modules_service_id_services_id_fk",
1192
+ "tableFrom": "modules",
1193
+ "tableTo": "services",
1194
+ "columnsFrom": [
1195
+ "service_id"
1196
+ ],
1197
+ "columnsTo": [
1198
+ "id"
1199
+ ],
1200
+ "onDelete": "cascade",
1201
+ "onUpdate": "no action"
1202
+ }
1203
+ },
1204
+ "compositePrimaryKeys": {},
1205
+ "uniqueConstraints": {},
1206
+ "policies": {},
1207
+ "checkConstraints": {},
1208
+ "isRLSEnabled": false
1209
+ },
1210
+ "public.repos": {
1211
+ "name": "repos",
1212
+ "schema": "",
1213
+ "columns": {
1214
+ "id": {
1215
+ "name": "id",
1216
+ "type": "uuid",
1217
+ "primaryKey": true,
1218
+ "notNull": true,
1219
+ "default": "gen_random_uuid()"
1220
+ },
1221
+ "name": {
1222
+ "name": "name",
1223
+ "type": "text",
1224
+ "primaryKey": false,
1225
+ "notNull": true
1226
+ },
1227
+ "path": {
1228
+ "name": "path",
1229
+ "type": "text",
1230
+ "primaryKey": false,
1231
+ "notNull": true
1232
+ },
1233
+ "last_analyzed_at": {
1234
+ "name": "last_analyzed_at",
1235
+ "type": "timestamp with time zone",
1236
+ "primaryKey": false,
1237
+ "notNull": false
1238
+ },
1239
+ "created_at": {
1240
+ "name": "created_at",
1241
+ "type": "timestamp with time zone",
1242
+ "primaryKey": false,
1243
+ "notNull": true,
1244
+ "default": "now()"
1245
+ },
1246
+ "updated_at": {
1247
+ "name": "updated_at",
1248
+ "type": "timestamp with time zone",
1249
+ "primaryKey": false,
1250
+ "notNull": true,
1251
+ "default": "now()"
1252
+ }
1253
+ },
1254
+ "indexes": {},
1255
+ "foreignKeys": {},
1256
+ "compositePrimaryKeys": {},
1257
+ "uniqueConstraints": {
1258
+ "repos_path_unique": {
1259
+ "name": "repos_path_unique",
1260
+ "nullsNotDistinct": false,
1261
+ "columns": [
1262
+ "path"
1263
+ ]
1264
+ }
1265
+ },
1266
+ "policies": {},
1267
+ "checkConstraints": {},
1268
+ "isRLSEnabled": false
1269
+ },
1270
+ "public.rules": {
1271
+ "name": "rules",
1272
+ "schema": "",
1273
+ "columns": {
1274
+ "key": {
1275
+ "name": "key",
1276
+ "type": "text",
1277
+ "primaryKey": true,
1278
+ "notNull": true
1279
+ },
1280
+ "category": {
1281
+ "name": "category",
1282
+ "type": "text",
1283
+ "primaryKey": false,
1284
+ "notNull": true
1285
+ },
1286
+ "name": {
1287
+ "name": "name",
1288
+ "type": "text",
1289
+ "primaryKey": false,
1290
+ "notNull": true
1291
+ },
1292
+ "description": {
1293
+ "name": "description",
1294
+ "type": "text",
1295
+ "primaryKey": false,
1296
+ "notNull": true
1297
+ },
1298
+ "prompt": {
1299
+ "name": "prompt",
1300
+ "type": "text",
1301
+ "primaryKey": false,
1302
+ "notNull": false
1303
+ },
1304
+ "enabled": {
1305
+ "name": "enabled",
1306
+ "type": "boolean",
1307
+ "primaryKey": false,
1308
+ "notNull": true,
1309
+ "default": true
1310
+ },
1311
+ "severity": {
1312
+ "name": "severity",
1313
+ "type": "text",
1314
+ "primaryKey": false,
1315
+ "notNull": true
1316
+ },
1317
+ "type": {
1318
+ "name": "type",
1319
+ "type": "text",
1320
+ "primaryKey": false,
1321
+ "notNull": true
1322
+ },
1323
+ "created_at": {
1324
+ "name": "created_at",
1325
+ "type": "timestamp with time zone",
1326
+ "primaryKey": false,
1327
+ "notNull": true,
1328
+ "default": "now()"
1329
+ },
1330
+ "updated_at": {
1331
+ "name": "updated_at",
1332
+ "type": "timestamp with time zone",
1333
+ "primaryKey": false,
1334
+ "notNull": true,
1335
+ "default": "now()"
1336
+ }
1337
+ },
1338
+ "indexes": {},
1339
+ "foreignKeys": {},
1340
+ "compositePrimaryKeys": {},
1341
+ "uniqueConstraints": {},
1342
+ "policies": {},
1343
+ "checkConstraints": {},
1344
+ "isRLSEnabled": false
1345
+ },
1346
+ "public.service_dependencies": {
1347
+ "name": "service_dependencies",
1348
+ "schema": "",
1349
+ "columns": {
1350
+ "id": {
1351
+ "name": "id",
1352
+ "type": "uuid",
1353
+ "primaryKey": true,
1354
+ "notNull": true,
1355
+ "default": "gen_random_uuid()"
1356
+ },
1357
+ "analysis_id": {
1358
+ "name": "analysis_id",
1359
+ "type": "uuid",
1360
+ "primaryKey": false,
1361
+ "notNull": true
1362
+ },
1363
+ "source_service_id": {
1364
+ "name": "source_service_id",
1365
+ "type": "uuid",
1366
+ "primaryKey": false,
1367
+ "notNull": true
1368
+ },
1369
+ "target_service_id": {
1370
+ "name": "target_service_id",
1371
+ "type": "uuid",
1372
+ "primaryKey": false,
1373
+ "notNull": true
1374
+ },
1375
+ "dependency_count": {
1376
+ "name": "dependency_count",
1377
+ "type": "integer",
1378
+ "primaryKey": false,
1379
+ "notNull": false
1380
+ },
1381
+ "dependency_type": {
1382
+ "name": "dependency_type",
1383
+ "type": "text",
1384
+ "primaryKey": false,
1385
+ "notNull": false
1386
+ }
1387
+ },
1388
+ "indexes": {},
1389
+ "foreignKeys": {
1390
+ "service_dependencies_analysis_id_analyses_id_fk": {
1391
+ "name": "service_dependencies_analysis_id_analyses_id_fk",
1392
+ "tableFrom": "service_dependencies",
1393
+ "tableTo": "analyses",
1394
+ "columnsFrom": [
1395
+ "analysis_id"
1396
+ ],
1397
+ "columnsTo": [
1398
+ "id"
1399
+ ],
1400
+ "onDelete": "cascade",
1401
+ "onUpdate": "no action"
1402
+ },
1403
+ "service_dependencies_source_service_id_services_id_fk": {
1404
+ "name": "service_dependencies_source_service_id_services_id_fk",
1405
+ "tableFrom": "service_dependencies",
1406
+ "tableTo": "services",
1407
+ "columnsFrom": [
1408
+ "source_service_id"
1409
+ ],
1410
+ "columnsTo": [
1411
+ "id"
1412
+ ],
1413
+ "onDelete": "cascade",
1414
+ "onUpdate": "no action"
1415
+ },
1416
+ "service_dependencies_target_service_id_services_id_fk": {
1417
+ "name": "service_dependencies_target_service_id_services_id_fk",
1418
+ "tableFrom": "service_dependencies",
1419
+ "tableTo": "services",
1420
+ "columnsFrom": [
1421
+ "target_service_id"
1422
+ ],
1423
+ "columnsTo": [
1424
+ "id"
1425
+ ],
1426
+ "onDelete": "cascade",
1427
+ "onUpdate": "no action"
1428
+ }
1429
+ },
1430
+ "compositePrimaryKeys": {},
1431
+ "uniqueConstraints": {},
1432
+ "policies": {},
1433
+ "checkConstraints": {},
1434
+ "isRLSEnabled": false
1435
+ },
1436
+ "public.services": {
1437
+ "name": "services",
1438
+ "schema": "",
1439
+ "columns": {
1440
+ "id": {
1441
+ "name": "id",
1442
+ "type": "uuid",
1443
+ "primaryKey": true,
1444
+ "notNull": true,
1445
+ "default": "gen_random_uuid()"
1446
+ },
1447
+ "analysis_id": {
1448
+ "name": "analysis_id",
1449
+ "type": "uuid",
1450
+ "primaryKey": false,
1451
+ "notNull": true
1452
+ },
1453
+ "name": {
1454
+ "name": "name",
1455
+ "type": "text",
1456
+ "primaryKey": false,
1457
+ "notNull": true
1458
+ },
1459
+ "root_path": {
1460
+ "name": "root_path",
1461
+ "type": "text",
1462
+ "primaryKey": false,
1463
+ "notNull": true
1464
+ },
1465
+ "type": {
1466
+ "name": "type",
1467
+ "type": "text",
1468
+ "primaryKey": false,
1469
+ "notNull": true
1470
+ },
1471
+ "framework": {
1472
+ "name": "framework",
1473
+ "type": "text",
1474
+ "primaryKey": false,
1475
+ "notNull": false
1476
+ },
1477
+ "file_count": {
1478
+ "name": "file_count",
1479
+ "type": "integer",
1480
+ "primaryKey": false,
1481
+ "notNull": false
1482
+ },
1483
+ "description": {
1484
+ "name": "description",
1485
+ "type": "text",
1486
+ "primaryKey": false,
1487
+ "notNull": false
1488
+ },
1489
+ "layer_summary": {
1490
+ "name": "layer_summary",
1491
+ "type": "jsonb",
1492
+ "primaryKey": false,
1493
+ "notNull": false
1494
+ },
1495
+ "created_at": {
1496
+ "name": "created_at",
1497
+ "type": "timestamp with time zone",
1498
+ "primaryKey": false,
1499
+ "notNull": true,
1500
+ "default": "now()"
1501
+ }
1502
+ },
1503
+ "indexes": {},
1504
+ "foreignKeys": {
1505
+ "services_analysis_id_analyses_id_fk": {
1506
+ "name": "services_analysis_id_analyses_id_fk",
1507
+ "tableFrom": "services",
1508
+ "tableTo": "analyses",
1509
+ "columnsFrom": [
1510
+ "analysis_id"
1511
+ ],
1512
+ "columnsTo": [
1513
+ "id"
1514
+ ],
1515
+ "onDelete": "cascade",
1516
+ "onUpdate": "no action"
1517
+ }
1518
+ },
1519
+ "compositePrimaryKeys": {},
1520
+ "uniqueConstraints": {},
1521
+ "policies": {},
1522
+ "checkConstraints": {},
1523
+ "isRLSEnabled": false
1524
+ },
1525
+ "public.violations": {
1526
+ "name": "violations",
1527
+ "schema": "",
1528
+ "columns": {
1529
+ "id": {
1530
+ "name": "id",
1531
+ "type": "uuid",
1532
+ "primaryKey": true,
1533
+ "notNull": true,
1534
+ "default": "gen_random_uuid()"
1535
+ },
1536
+ "repo_id": {
1537
+ "name": "repo_id",
1538
+ "type": "uuid",
1539
+ "primaryKey": false,
1540
+ "notNull": true
1541
+ },
1542
+ "analysis_id": {
1543
+ "name": "analysis_id",
1544
+ "type": "uuid",
1545
+ "primaryKey": false,
1546
+ "notNull": true
1547
+ },
1548
+ "type": {
1549
+ "name": "type",
1550
+ "type": "text",
1551
+ "primaryKey": false,
1552
+ "notNull": true
1553
+ },
1554
+ "title": {
1555
+ "name": "title",
1556
+ "type": "text",
1557
+ "primaryKey": false,
1558
+ "notNull": true
1559
+ },
1560
+ "content": {
1561
+ "name": "content",
1562
+ "type": "text",
1563
+ "primaryKey": false,
1564
+ "notNull": true
1565
+ },
1566
+ "severity": {
1567
+ "name": "severity",
1568
+ "type": "text",
1569
+ "primaryKey": false,
1570
+ "notNull": true
1571
+ },
1572
+ "target_service_id": {
1573
+ "name": "target_service_id",
1574
+ "type": "uuid",
1575
+ "primaryKey": false,
1576
+ "notNull": false
1577
+ },
1578
+ "target_database_id": {
1579
+ "name": "target_database_id",
1580
+ "type": "uuid",
1581
+ "primaryKey": false,
1582
+ "notNull": false
1583
+ },
1584
+ "target_module_id": {
1585
+ "name": "target_module_id",
1586
+ "type": "uuid",
1587
+ "primaryKey": false,
1588
+ "notNull": false
1589
+ },
1590
+ "target_method_id": {
1591
+ "name": "target_method_id",
1592
+ "type": "uuid",
1593
+ "primaryKey": false,
1594
+ "notNull": false
1595
+ },
1596
+ "target_table": {
1597
+ "name": "target_table",
1598
+ "type": "text",
1599
+ "primaryKey": false,
1600
+ "notNull": false
1601
+ },
1602
+ "fix_prompt": {
1603
+ "name": "fix_prompt",
1604
+ "type": "text",
1605
+ "primaryKey": false,
1606
+ "notNull": false
1607
+ },
1608
+ "created_at": {
1609
+ "name": "created_at",
1610
+ "type": "timestamp with time zone",
1611
+ "primaryKey": false,
1612
+ "notNull": true,
1613
+ "default": "now()"
1614
+ }
1615
+ },
1616
+ "indexes": {},
1617
+ "foreignKeys": {
1618
+ "violations_repo_id_repos_id_fk": {
1619
+ "name": "violations_repo_id_repos_id_fk",
1620
+ "tableFrom": "violations",
1621
+ "tableTo": "repos",
1622
+ "columnsFrom": [
1623
+ "repo_id"
1624
+ ],
1625
+ "columnsTo": [
1626
+ "id"
1627
+ ],
1628
+ "onDelete": "cascade",
1629
+ "onUpdate": "no action"
1630
+ },
1631
+ "violations_analysis_id_analyses_id_fk": {
1632
+ "name": "violations_analysis_id_analyses_id_fk",
1633
+ "tableFrom": "violations",
1634
+ "tableTo": "analyses",
1635
+ "columnsFrom": [
1636
+ "analysis_id"
1637
+ ],
1638
+ "columnsTo": [
1639
+ "id"
1640
+ ],
1641
+ "onDelete": "cascade",
1642
+ "onUpdate": "no action"
1643
+ },
1644
+ "violations_target_service_id_services_id_fk": {
1645
+ "name": "violations_target_service_id_services_id_fk",
1646
+ "tableFrom": "violations",
1647
+ "tableTo": "services",
1648
+ "columnsFrom": [
1649
+ "target_service_id"
1650
+ ],
1651
+ "columnsTo": [
1652
+ "id"
1653
+ ],
1654
+ "onDelete": "set null",
1655
+ "onUpdate": "no action"
1656
+ },
1657
+ "violations_target_database_id_databases_id_fk": {
1658
+ "name": "violations_target_database_id_databases_id_fk",
1659
+ "tableFrom": "violations",
1660
+ "tableTo": "databases",
1661
+ "columnsFrom": [
1662
+ "target_database_id"
1663
+ ],
1664
+ "columnsTo": [
1665
+ "id"
1666
+ ],
1667
+ "onDelete": "set null",
1668
+ "onUpdate": "no action"
1669
+ },
1670
+ "violations_target_module_id_modules_id_fk": {
1671
+ "name": "violations_target_module_id_modules_id_fk",
1672
+ "tableFrom": "violations",
1673
+ "tableTo": "modules",
1674
+ "columnsFrom": [
1675
+ "target_module_id"
1676
+ ],
1677
+ "columnsTo": [
1678
+ "id"
1679
+ ],
1680
+ "onDelete": "set null",
1681
+ "onUpdate": "no action"
1682
+ },
1683
+ "violations_target_method_id_methods_id_fk": {
1684
+ "name": "violations_target_method_id_methods_id_fk",
1685
+ "tableFrom": "violations",
1686
+ "tableTo": "methods",
1687
+ "columnsFrom": [
1688
+ "target_method_id"
1689
+ ],
1690
+ "columnsTo": [
1691
+ "id"
1692
+ ],
1693
+ "onDelete": "set null",
1694
+ "onUpdate": "no action"
1695
+ }
1696
+ },
1697
+ "compositePrimaryKeys": {},
1698
+ "uniqueConstraints": {},
1699
+ "policies": {},
1700
+ "checkConstraints": {},
1701
+ "isRLSEnabled": false
1702
+ }
1703
+ },
1704
+ "enums": {},
1705
+ "schemas": {},
1706
+ "sequences": {},
1707
+ "roles": {},
1708
+ "policies": {},
1709
+ "views": {},
1710
+ "_meta": {
1711
+ "columns": {},
1712
+ "schemas": {},
1713
+ "tables": {}
1714
+ }
1715
+ }