@dbml/connector 4.0.0 → 5.0.0-alpha.0

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,1430 @@
1
+ {
2
+ "tables": [
3
+ {
4
+ "name": "categories",
5
+ "note": {
6
+ "value": ""
7
+ }
8
+ },
9
+ {
10
+ "name": "composite_key_1",
11
+ "note": {
12
+ "value": ""
13
+ }
14
+ },
15
+ {
16
+ "name": "composite_key_2",
17
+ "note": {
18
+ "value": ""
19
+ }
20
+ },
21
+ {
22
+ "name": "date_time_example",
23
+ "note": {
24
+ "value": ""
25
+ }
26
+ },
27
+ {
28
+ "name": "default_example",
29
+ "note": {
30
+ "value": ""
31
+ }
32
+ },
33
+ {
34
+ "name": "hash_index_example",
35
+ "note": {
36
+ "value": "table for storing names with a hash index"
37
+ }
38
+ },
39
+ {
40
+ "name": "index_example",
41
+ "note": {
42
+ "value": ""
43
+ }
44
+ },
45
+ {
46
+ "name": "order_items",
47
+ "note": {
48
+ "value": ""
49
+ }
50
+ },
51
+ {
52
+ "name": "orders",
53
+ "note": {
54
+ "value": ""
55
+ }
56
+ },
57
+ {
58
+ "name": "products",
59
+ "note": {
60
+ "value": ""
61
+ }
62
+ },
63
+ {
64
+ "name": "sqrt_triangle",
65
+ "note": {
66
+ "value": ""
67
+ }
68
+ },
69
+ {
70
+ "name": "status_example_2",
71
+ "note": {
72
+ "value": ""
73
+ }
74
+ },
75
+ {
76
+ "name": "users",
77
+ "note": {
78
+ "value": ""
79
+ }
80
+ }
81
+ ],
82
+ "fields": {
83
+ "categories": [
84
+ {
85
+ "name": "cat_id",
86
+ "type": {
87
+ "type_name": "int unsigned",
88
+ "schemaName": null
89
+ },
90
+ "dbdefault": null,
91
+ "not_null": true,
92
+ "increment": true,
93
+ "note": {
94
+ "value": ""
95
+ }
96
+ },
97
+ {
98
+ "name": "cat_name",
99
+ "type": {
100
+ "type_name": "varchar(50)",
101
+ "schemaName": null
102
+ },
103
+ "dbdefault": null,
104
+ "not_null": true,
105
+ "increment": false,
106
+ "note": {
107
+ "value": ""
108
+ }
109
+ },
110
+ {
111
+ "name": "super_cat_id",
112
+ "type": {
113
+ "type_name": "int unsigned",
114
+ "schemaName": null
115
+ },
116
+ "dbdefault": null,
117
+ "not_null": false,
118
+ "increment": false,
119
+ "note": {
120
+ "value": ""
121
+ }
122
+ },
123
+ {
124
+ "name": "created_at",
125
+ "type": {
126
+ "type_name": "timestamp",
127
+ "schemaName": null
128
+ },
129
+ "dbdefault": {
130
+ "value": "CURRENT_TIMESTAMP",
131
+ "type": "expression"
132
+ },
133
+ "not_null": false,
134
+ "increment": false,
135
+ "note": {
136
+ "value": ""
137
+ }
138
+ }
139
+ ],
140
+ "composite_key_1": [
141
+ {
142
+ "name": "id1_1",
143
+ "type": {
144
+ "type_name": "int unsigned",
145
+ "schemaName": null
146
+ },
147
+ "dbdefault": null,
148
+ "not_null": true,
149
+ "increment": false,
150
+ "note": {
151
+ "value": ""
152
+ }
153
+ },
154
+ {
155
+ "name": "id1_2",
156
+ "type": {
157
+ "type_name": "int unsigned",
158
+ "schemaName": null
159
+ },
160
+ "dbdefault": null,
161
+ "not_null": true,
162
+ "increment": false,
163
+ "note": {
164
+ "value": ""
165
+ }
166
+ },
167
+ {
168
+ "name": "email",
169
+ "type": {
170
+ "type_name": "varchar(255)",
171
+ "schemaName": null
172
+ },
173
+ "dbdefault": null,
174
+ "not_null": false,
175
+ "increment": false,
176
+ "note": {
177
+ "value": ""
178
+ }
179
+ },
180
+ {
181
+ "name": "name",
182
+ "type": {
183
+ "type_name": "varchar(50)",
184
+ "schemaName": null
185
+ },
186
+ "dbdefault": null,
187
+ "not_null": false,
188
+ "increment": false,
189
+ "note": {
190
+ "value": ""
191
+ }
192
+ }
193
+ ],
194
+ "composite_key_2": [
195
+ {
196
+ "name": "id2_1",
197
+ "type": {
198
+ "type_name": "int unsigned",
199
+ "schemaName": null
200
+ },
201
+ "dbdefault": null,
202
+ "not_null": true,
203
+ "increment": false,
204
+ "note": {
205
+ "value": ""
206
+ }
207
+ },
208
+ {
209
+ "name": "id2_2",
210
+ "type": {
211
+ "type_name": "int unsigned",
212
+ "schemaName": null
213
+ },
214
+ "dbdefault": null,
215
+ "not_null": true,
216
+ "increment": false,
217
+ "note": {
218
+ "value": ""
219
+ }
220
+ }
221
+ ],
222
+ "date_time_example": [
223
+ {
224
+ "name": "default_now",
225
+ "type": {
226
+ "type_name": "timestamp",
227
+ "schemaName": null
228
+ },
229
+ "dbdefault": {
230
+ "value": "CURRENT_TIMESTAMP",
231
+ "type": "expression"
232
+ },
233
+ "not_null": false,
234
+ "increment": false,
235
+ "note": {
236
+ "value": ""
237
+ }
238
+ },
239
+ {
240
+ "name": "default_local",
241
+ "type": {
242
+ "type_name": "timestamp",
243
+ "schemaName": null
244
+ },
245
+ "dbdefault": {
246
+ "value": "CURRENT_TIMESTAMP",
247
+ "type": "expression"
248
+ },
249
+ "not_null": false,
250
+ "increment": false,
251
+ "note": {
252
+ "value": ""
253
+ }
254
+ },
255
+ {
256
+ "name": "date_plus_7_days",
257
+ "type": {
258
+ "type_name": "date",
259
+ "schemaName": null
260
+ },
261
+ "dbdefault": {
262
+ "value": "(curdate() + interval 7 day)",
263
+ "type": "expression"
264
+ },
265
+ "not_null": false,
266
+ "increment": false,
267
+ "note": {
268
+ "value": ""
269
+ }
270
+ },
271
+ {
272
+ "name": "date_minus_30_days",
273
+ "type": {
274
+ "type_name": "date",
275
+ "schemaName": null
276
+ },
277
+ "dbdefault": {
278
+ "value": "(curdate() - interval 30 day)",
279
+ "type": "expression"
280
+ },
281
+ "not_null": false,
282
+ "increment": false,
283
+ "note": {
284
+ "value": ""
285
+ }
286
+ },
287
+ {
288
+ "name": "timestamp_plus_1_hour",
289
+ "type": {
290
+ "type_name": "timestamp",
291
+ "schemaName": null
292
+ },
293
+ "dbdefault": {
294
+ "value": "(now() + interval 1 hour)",
295
+ "type": "expression"
296
+ },
297
+ "not_null": false,
298
+ "increment": false,
299
+ "note": {
300
+ "value": ""
301
+ }
302
+ },
303
+ {
304
+ "name": "timestamp_minus_15_minutes",
305
+ "type": {
306
+ "type_name": "timestamp",
307
+ "schemaName": null
308
+ },
309
+ "dbdefault": {
310
+ "value": "(now() - interval 15 minute)",
311
+ "type": "expression"
312
+ },
313
+ "not_null": false,
314
+ "increment": false,
315
+ "note": {
316
+ "value": ""
317
+ }
318
+ },
319
+ {
320
+ "name": "on_update_1",
321
+ "type": {
322
+ "type_name": "datetime on update CURRENT_TIMESTAMP",
323
+ "schemaName": null
324
+ },
325
+ "dbdefault": {
326
+ "value": "CURRENT_TIMESTAMP",
327
+ "type": "expression"
328
+ },
329
+ "not_null": false,
330
+ "increment": false,
331
+ "note": {
332
+ "value": ""
333
+ }
334
+ },
335
+ {
336
+ "name": "on_update_2",
337
+ "type": {
338
+ "type_name": "datetime on update CURRENT_TIMESTAMP",
339
+ "schemaName": null
340
+ },
341
+ "dbdefault": {
342
+ "value": "CURRENT_TIMESTAMP",
343
+ "type": "expression"
344
+ },
345
+ "not_null": false,
346
+ "increment": false,
347
+ "note": {
348
+ "value": ""
349
+ }
350
+ }
351
+ ],
352
+ "default_example": [
353
+ {
354
+ "name": "id",
355
+ "type": {
356
+ "type_name": "int",
357
+ "schemaName": null
358
+ },
359
+ "dbdefault": null,
360
+ "not_null": true,
361
+ "increment": true,
362
+ "note": {
363
+ "value": ""
364
+ }
365
+ },
366
+ {
367
+ "name": "column1",
368
+ "type": {
369
+ "type_name": "varchar(255)",
370
+ "schemaName": null
371
+ },
372
+ "dbdefault": {
373
+ "value": "concat(_utf8mb4\\'default \\',uuid())",
374
+ "type": "expression"
375
+ },
376
+ "not_null": false,
377
+ "increment": false,
378
+ "note": {
379
+ "value": ""
380
+ }
381
+ },
382
+ {
383
+ "name": "column2",
384
+ "type": {
385
+ "type_name": "varchar(255)",
386
+ "schemaName": null
387
+ },
388
+ "dbdefault": {
389
+ "value": "concat(_utf8mb4\\'random \\',floor((rand() * 100)))",
390
+ "type": "expression"
391
+ },
392
+ "not_null": false,
393
+ "increment": false,
394
+ "note": {
395
+ "value": ""
396
+ }
397
+ },
398
+ {
399
+ "name": "column3",
400
+ "type": {
401
+ "type_name": "varchar(255)",
402
+ "schemaName": null
403
+ },
404
+ "dbdefault": {
405
+ "value": "_utf8mb4",
406
+ "type": "string"
407
+ },
408
+ "not_null": false,
409
+ "increment": false,
410
+ "note": {
411
+ "value": ""
412
+ }
413
+ },
414
+ {
415
+ "name": "column4",
416
+ "type": {
417
+ "type_name": "double",
418
+ "schemaName": null
419
+ },
420
+ "dbdefault": {
421
+ "value": "0.5",
422
+ "type": "number"
423
+ },
424
+ "not_null": false,
425
+ "increment": false,
426
+ "note": {
427
+ "value": ""
428
+ }
429
+ },
430
+ {
431
+ "name": "created_date",
432
+ "type": {
433
+ "type_name": "date",
434
+ "schemaName": null
435
+ },
436
+ "dbdefault": {
437
+ "value": "curdate()",
438
+ "type": "expression"
439
+ },
440
+ "not_null": false,
441
+ "increment": false,
442
+ "note": {
443
+ "value": ""
444
+ }
445
+ },
446
+ {
447
+ "name": "first_date",
448
+ "type": {
449
+ "type_name": "date",
450
+ "schemaName": null
451
+ },
452
+ "dbdefault": {
453
+ "value": "2023-01-01",
454
+ "type": "string"
455
+ },
456
+ "not_null": false,
457
+ "increment": false,
458
+ "note": {
459
+ "value": ""
460
+ }
461
+ },
462
+ {
463
+ "name": "event_time",
464
+ "type": {
465
+ "type_name": "timestamp",
466
+ "schemaName": null
467
+ },
468
+ "dbdefault": {
469
+ "value": "2024-01-01 00:00:00",
470
+ "type": "string"
471
+ },
472
+ "not_null": false,
473
+ "increment": false,
474
+ "note": {
475
+ "value": ""
476
+ }
477
+ }
478
+ ],
479
+ "hash_index_example": [
480
+ {
481
+ "name": "id",
482
+ "type": {
483
+ "type_name": "int",
484
+ "schemaName": null
485
+ },
486
+ "dbdefault": null,
487
+ "not_null": true,
488
+ "increment": false,
489
+ "note": {
490
+ "value": "unique identifier for each record"
491
+ }
492
+ },
493
+ {
494
+ "name": "name",
495
+ "type": {
496
+ "type_name": "varchar(100)",
497
+ "schemaName": null
498
+ },
499
+ "dbdefault": null,
500
+ "not_null": false,
501
+ "increment": false,
502
+ "note": {
503
+ "value": "first name's of the individual"
504
+ }
505
+ },
506
+ {
507
+ "name": "name1",
508
+ "type": {
509
+ "type_name": "varchar(100)",
510
+ "schemaName": null
511
+ },
512
+ "dbdefault": null,
513
+ "not_null": false,
514
+ "increment": false,
515
+ "note": {
516
+ "value": "last name's of the individual"
517
+ }
518
+ }
519
+ ],
520
+ "index_example": [
521
+ {
522
+ "name": "id",
523
+ "type": {
524
+ "type_name": "int",
525
+ "schemaName": null
526
+ },
527
+ "dbdefault": null,
528
+ "not_null": true,
529
+ "increment": true,
530
+ "note": {
531
+ "value": ""
532
+ }
533
+ },
534
+ {
535
+ "name": "name_lower",
536
+ "type": {
537
+ "type_name": "varchar(100)",
538
+ "schemaName": null
539
+ },
540
+ "dbdefault": null,
541
+ "not_null": true,
542
+ "increment": false,
543
+ "note": {
544
+ "value": ""
545
+ }
546
+ },
547
+ {
548
+ "name": "name_inline",
549
+ "type": {
550
+ "type_name": "varchar(100)",
551
+ "schemaName": null
552
+ },
553
+ "dbdefault": null,
554
+ "not_null": true,
555
+ "increment": false,
556
+ "note": {
557
+ "value": ""
558
+ }
559
+ },
560
+ {
561
+ "name": "email",
562
+ "type": {
563
+ "type_name": "varchar(100)",
564
+ "schemaName": null
565
+ },
566
+ "dbdefault": null,
567
+ "not_null": true,
568
+ "increment": false,
569
+ "note": {
570
+ "value": ""
571
+ }
572
+ },
573
+ {
574
+ "name": "age",
575
+ "type": {
576
+ "type_name": "int",
577
+ "schemaName": null
578
+ },
579
+ "dbdefault": null,
580
+ "not_null": false,
581
+ "increment": false,
582
+ "note": {
583
+ "value": ""
584
+ }
585
+ },
586
+ {
587
+ "name": "city",
588
+ "type": {
589
+ "type_name": "varchar(50)",
590
+ "schemaName": null
591
+ },
592
+ "dbdefault": null,
593
+ "not_null": false,
594
+ "increment": false,
595
+ "note": {
596
+ "value": ""
597
+ }
598
+ }
599
+ ],
600
+ "order_items": [
601
+ {
602
+ "name": "order_id",
603
+ "type": {
604
+ "type_name": "int unsigned",
605
+ "schemaName": null
606
+ },
607
+ "dbdefault": null,
608
+ "not_null": true,
609
+ "increment": false,
610
+ "note": {
611
+ "value": ""
612
+ }
613
+ },
614
+ {
615
+ "name": "product_id",
616
+ "type": {
617
+ "type_name": "int unsigned",
618
+ "schemaName": null
619
+ },
620
+ "dbdefault": null,
621
+ "not_null": true,
622
+ "increment": false,
623
+ "note": {
624
+ "value": ""
625
+ }
626
+ }
627
+ ],
628
+ "orders": [
629
+ {
630
+ "name": "order_id",
631
+ "type": {
632
+ "type_name": "int unsigned",
633
+ "schemaName": null
634
+ },
635
+ "dbdefault": null,
636
+ "not_null": true,
637
+ "increment": true,
638
+ "note": {
639
+ "value": ""
640
+ }
641
+ },
642
+ {
643
+ "name": "user_id",
644
+ "type": {
645
+ "type_name": "int unsigned",
646
+ "schemaName": null
647
+ },
648
+ "dbdefault": null,
649
+ "not_null": false,
650
+ "increment": false,
651
+ "note": {
652
+ "value": ""
653
+ }
654
+ }
655
+ ],
656
+ "products": [
657
+ {
658
+ "name": "id",
659
+ "type": {
660
+ "type_name": "int unsigned",
661
+ "schemaName": null
662
+ },
663
+ "dbdefault": null,
664
+ "not_null": true,
665
+ "increment": true,
666
+ "note": {
667
+ "value": ""
668
+ }
669
+ },
670
+ {
671
+ "name": "price",
672
+ "type": {
673
+ "type_name": "decimal(10,2)",
674
+ "schemaName": null
675
+ },
676
+ "dbdefault": null,
677
+ "not_null": true,
678
+ "increment": false,
679
+ "note": {
680
+ "value": ""
681
+ }
682
+ },
683
+ {
684
+ "name": "quantity",
685
+ "type": {
686
+ "type_name": "int",
687
+ "schemaName": null
688
+ },
689
+ "dbdefault": null,
690
+ "not_null": true,
691
+ "increment": false,
692
+ "note": {
693
+ "value": ""
694
+ }
695
+ },
696
+ {
697
+ "name": "total_value",
698
+ "type": {
699
+ "type_name": "decimal(10,2) GENERATED ALWAYS AS ((`price` * `quantity`)) STORED",
700
+ "schemaName": null
701
+ },
702
+ "dbdefault": null,
703
+ "not_null": false,
704
+ "increment": false,
705
+ "note": {
706
+ "value": ""
707
+ }
708
+ },
709
+ {
710
+ "name": "updated_at",
711
+ "type": {
712
+ "type_name": "timestamp on update CURRENT_TIMESTAMP",
713
+ "schemaName": null
714
+ },
715
+ "dbdefault": {
716
+ "value": "CURRENT_TIMESTAMP",
717
+ "type": "expression"
718
+ },
719
+ "not_null": false,
720
+ "increment": false,
721
+ "note": {
722
+ "value": ""
723
+ }
724
+ }
725
+ ],
726
+ "sqrt_triangle": [
727
+ {
728
+ "name": "side_a",
729
+ "type": {
730
+ "type_name": "double",
731
+ "schemaName": null
732
+ },
733
+ "dbdefault": null,
734
+ "not_null": false,
735
+ "increment": false,
736
+ "note": {
737
+ "value": ""
738
+ }
739
+ },
740
+ {
741
+ "name": "side_b",
742
+ "type": {
743
+ "type_name": "double",
744
+ "schemaName": null
745
+ },
746
+ "dbdefault": null,
747
+ "not_null": false,
748
+ "increment": false,
749
+ "note": {
750
+ "value": ""
751
+ }
752
+ },
753
+ {
754
+ "name": "side_c",
755
+ "type": {
756
+ "type_name": "double GENERATED ALWAYS AS (sqrt(((`side_a` * `side_a`) + (`side_b` * `side_b`)))) VIRTUAL",
757
+ "schemaName": null
758
+ },
759
+ "dbdefault": null,
760
+ "not_null": false,
761
+ "increment": false,
762
+ "note": {
763
+ "value": ""
764
+ }
765
+ }
766
+ ],
767
+ "status_example_2": [
768
+ {
769
+ "name": "s1",
770
+ "type": {
771
+ "type_name": "status_example_2_s1_enum",
772
+ "schemaName": null
773
+ },
774
+ "dbdefault": null,
775
+ "not_null": true,
776
+ "increment": false,
777
+ "note": {
778
+ "value": ""
779
+ }
780
+ },
781
+ {
782
+ "name": "s2",
783
+ "type": {
784
+ "type_name": "status_example_2_s2_enum",
785
+ "schemaName": null
786
+ },
787
+ "dbdefault": null,
788
+ "not_null": false,
789
+ "increment": false,
790
+ "note": {
791
+ "value": ""
792
+ }
793
+ },
794
+ {
795
+ "name": "s3",
796
+ "type": {
797
+ "type_name": "status_example_2_s3_enum",
798
+ "schemaName": null
799
+ },
800
+ "dbdefault": {
801
+ "value": "active",
802
+ "type": "string"
803
+ },
804
+ "not_null": false,
805
+ "increment": false,
806
+ "note": {
807
+ "value": ""
808
+ }
809
+ },
810
+ {
811
+ "name": "s4",
812
+ "type": {
813
+ "type_name": "status_example_2_s4_enum",
814
+ "schemaName": null
815
+ },
816
+ "dbdefault": {
817
+ "value": "pending",
818
+ "type": "string"
819
+ },
820
+ "not_null": false,
821
+ "increment": false,
822
+ "note": {
823
+ "value": ""
824
+ }
825
+ },
826
+ {
827
+ "name": "s5",
828
+ "type": {
829
+ "type_name": "status_example_2_s5_enum",
830
+ "schemaName": null
831
+ },
832
+ "dbdefault": null,
833
+ "not_null": false,
834
+ "increment": false,
835
+ "note": {
836
+ "value": ""
837
+ }
838
+ },
839
+ {
840
+ "name": "s6",
841
+ "type": {
842
+ "type_name": "status_example_2_s6_enum",
843
+ "schemaName": null
844
+ },
845
+ "dbdefault": null,
846
+ "not_null": true,
847
+ "increment": false,
848
+ "note": {
849
+ "value": ""
850
+ }
851
+ },
852
+ {
853
+ "name": "s7",
854
+ "type": {
855
+ "type_name": "status_example_2_s7_enum",
856
+ "schemaName": null
857
+ },
858
+ "dbdefault": {
859
+ "value": "1",
860
+ "type": "string"
861
+ },
862
+ "not_null": false,
863
+ "increment": false,
864
+ "note": {
865
+ "value": ""
866
+ }
867
+ },
868
+ {
869
+ "name": "s8",
870
+ "type": {
871
+ "type_name": "status_example_2_s8_enum",
872
+ "schemaName": null
873
+ },
874
+ "dbdefault": {
875
+ "value": "0",
876
+ "type": "string"
877
+ },
878
+ "not_null": false,
879
+ "increment": false,
880
+ "note": {
881
+ "value": ""
882
+ }
883
+ }
884
+ ],
885
+ "users": [
886
+ {
887
+ "name": "user_id",
888
+ "type": {
889
+ "type_name": "int unsigned",
890
+ "schemaName": null
891
+ },
892
+ "dbdefault": null,
893
+ "not_null": true,
894
+ "increment": true,
895
+ "note": {
896
+ "value": ""
897
+ }
898
+ },
899
+ {
900
+ "name": "username",
901
+ "type": {
902
+ "type_name": "varchar(50)",
903
+ "schemaName": null
904
+ },
905
+ "dbdefault": null,
906
+ "not_null": true,
907
+ "increment": false,
908
+ "note": {
909
+ "value": ""
910
+ }
911
+ },
912
+ {
913
+ "name": "email",
914
+ "type": {
915
+ "type_name": "varchar(100)",
916
+ "schemaName": null
917
+ },
918
+ "dbdefault": null,
919
+ "not_null": true,
920
+ "increment": false,
921
+ "note": {
922
+ "value": ""
923
+ }
924
+ },
925
+ {
926
+ "name": "password_hash",
927
+ "type": {
928
+ "type_name": "varchar(255)",
929
+ "schemaName": null
930
+ },
931
+ "dbdefault": null,
932
+ "not_null": true,
933
+ "increment": false,
934
+ "note": {
935
+ "value": ""
936
+ }
937
+ },
938
+ {
939
+ "name": "first_name",
940
+ "type": {
941
+ "type_name": "varchar(50)",
942
+ "schemaName": null
943
+ },
944
+ "dbdefault": null,
945
+ "not_null": false,
946
+ "increment": false,
947
+ "note": {
948
+ "value": ""
949
+ }
950
+ },
951
+ {
952
+ "name": "last_name",
953
+ "type": {
954
+ "type_name": "varchar(50)",
955
+ "schemaName": null
956
+ },
957
+ "dbdefault": null,
958
+ "not_null": false,
959
+ "increment": false,
960
+ "note": {
961
+ "value": ""
962
+ }
963
+ },
964
+ {
965
+ "name": "date_of_birth",
966
+ "type": {
967
+ "type_name": "date",
968
+ "schemaName": null
969
+ },
970
+ "dbdefault": null,
971
+ "not_null": false,
972
+ "increment": false,
973
+ "note": {
974
+ "value": ""
975
+ }
976
+ },
977
+ {
978
+ "name": "created_at",
979
+ "type": {
980
+ "type_name": "timestamp",
981
+ "schemaName": null
982
+ },
983
+ "dbdefault": {
984
+ "value": "CURRENT_TIMESTAMP",
985
+ "type": "expression"
986
+ },
987
+ "not_null": false,
988
+ "increment": false,
989
+ "note": {
990
+ "value": ""
991
+ }
992
+ },
993
+ {
994
+ "name": "last_login",
995
+ "type": {
996
+ "type_name": "timestamp",
997
+ "schemaName": null
998
+ },
999
+ "dbdefault": {
1000
+ "value": "CURRENT_TIMESTAMP",
1001
+ "type": "expression"
1002
+ },
1003
+ "not_null": false,
1004
+ "increment": false,
1005
+ "note": {
1006
+ "value": ""
1007
+ }
1008
+ },
1009
+ {
1010
+ "name": "is_active",
1011
+ "type": {
1012
+ "type_name": "tinyint(1)",
1013
+ "schemaName": null
1014
+ },
1015
+ "dbdefault": {
1016
+ "value": "1",
1017
+ "type": "number"
1018
+ },
1019
+ "not_null": false,
1020
+ "increment": false,
1021
+ "note": {
1022
+ "value": ""
1023
+ }
1024
+ }
1025
+ ]
1026
+ },
1027
+ "refs": [
1028
+ {
1029
+ "name": "fk_test_composite",
1030
+ "endpoints": [
1031
+ {
1032
+ "tableName": "composite_key_1",
1033
+ "fieldNames": [
1034
+ "id1_1",
1035
+ "id1_2"
1036
+ ],
1037
+ "relation": "*"
1038
+ },
1039
+ {
1040
+ "tableName": "composite_key_2",
1041
+ "fieldNames": [
1042
+ "id2_1",
1043
+ "id2_2"
1044
+ ],
1045
+ "relation": "1"
1046
+ }
1047
+ ],
1048
+ "onDelete": null,
1049
+ "onUpdate": null
1050
+ },
1051
+ {
1052
+ "name": "fk_detail_items_orders",
1053
+ "endpoints": [
1054
+ {
1055
+ "tableName": "order_items",
1056
+ "fieldNames": [
1057
+ "order_id"
1058
+ ],
1059
+ "relation": "*"
1060
+ },
1061
+ {
1062
+ "tableName": "orders",
1063
+ "fieldNames": [
1064
+ "order_id"
1065
+ ],
1066
+ "relation": "1"
1067
+ }
1068
+ ],
1069
+ "onDelete": "CASCADE",
1070
+ "onUpdate": null
1071
+ },
1072
+ {
1073
+ "name": "fk_detail_items_products",
1074
+ "endpoints": [
1075
+ {
1076
+ "tableName": "order_items",
1077
+ "fieldNames": [
1078
+ "product_id"
1079
+ ],
1080
+ "relation": "*"
1081
+ },
1082
+ {
1083
+ "tableName": "products",
1084
+ "fieldNames": [
1085
+ "id"
1086
+ ],
1087
+ "relation": "1"
1088
+ }
1089
+ ],
1090
+ "onDelete": null,
1091
+ "onUpdate": null
1092
+ },
1093
+ {
1094
+ "name": "fk_order_user",
1095
+ "endpoints": [
1096
+ {
1097
+ "tableName": "orders",
1098
+ "fieldNames": [
1099
+ "user_id"
1100
+ ],
1101
+ "relation": "*"
1102
+ },
1103
+ {
1104
+ "tableName": "users",
1105
+ "fieldNames": [
1106
+ "user_id"
1107
+ ],
1108
+ "relation": "1"
1109
+ }
1110
+ ],
1111
+ "onDelete": "SET NULL",
1112
+ "onUpdate": null
1113
+ }
1114
+ ],
1115
+ "enums": [
1116
+ {
1117
+ "name": "status_example_2_s1_enum",
1118
+ "values": [
1119
+ {
1120
+ "name": "active"
1121
+ },
1122
+ {
1123
+ "name": "inactive"
1124
+ },
1125
+ {
1126
+ "name": "pending"
1127
+ }
1128
+ ]
1129
+ },
1130
+ {
1131
+ "name": "status_example_2_s2_enum",
1132
+ "values": [
1133
+ {
1134
+ "name": "active"
1135
+ },
1136
+ {
1137
+ "name": "inactive"
1138
+ },
1139
+ {
1140
+ "name": "pending"
1141
+ }
1142
+ ]
1143
+ },
1144
+ {
1145
+ "name": "status_example_2_s3_enum",
1146
+ "values": [
1147
+ {
1148
+ "name": "active"
1149
+ },
1150
+ {
1151
+ "name": "inactive"
1152
+ },
1153
+ {
1154
+ "name": "pending"
1155
+ }
1156
+ ]
1157
+ },
1158
+ {
1159
+ "name": "status_example_2_s4_enum",
1160
+ "values": [
1161
+ {
1162
+ "name": "active"
1163
+ },
1164
+ {
1165
+ "name": "inactive"
1166
+ },
1167
+ {
1168
+ "name": "pending"
1169
+ }
1170
+ ]
1171
+ },
1172
+ {
1173
+ "name": "status_example_2_s5_enum",
1174
+ "values": [
1175
+ {
1176
+ "name": "0"
1177
+ },
1178
+ {
1179
+ "name": "1"
1180
+ },
1181
+ {
1182
+ "name": "2"
1183
+ }
1184
+ ]
1185
+ },
1186
+ {
1187
+ "name": "status_example_2_s6_enum",
1188
+ "values": [
1189
+ {
1190
+ "name": "0"
1191
+ },
1192
+ {
1193
+ "name": "1"
1194
+ },
1195
+ {
1196
+ "name": "2"
1197
+ }
1198
+ ]
1199
+ },
1200
+ {
1201
+ "name": "status_example_2_s7_enum",
1202
+ "values": [
1203
+ {
1204
+ "name": "0"
1205
+ },
1206
+ {
1207
+ "name": "1"
1208
+ },
1209
+ {
1210
+ "name": "2"
1211
+ }
1212
+ ]
1213
+ },
1214
+ {
1215
+ "name": "status_example_2_s8_enum",
1216
+ "values": [
1217
+ {
1218
+ "name": "0"
1219
+ },
1220
+ {
1221
+ "name": "1"
1222
+ },
1223
+ {
1224
+ "name": "2"
1225
+ }
1226
+ ]
1227
+ }
1228
+ ],
1229
+ "indexes": {
1230
+ "index_example": [
1231
+ {
1232
+ "name": "idx_city_age",
1233
+ "type": "BTREE",
1234
+ "columns": [
1235
+ {
1236
+ "value": "city",
1237
+ "type": "column"
1238
+ },
1239
+ {
1240
+ "value": "age",
1241
+ "type": "column"
1242
+ }
1243
+ ],
1244
+ "unique": false
1245
+ },
1246
+ {
1247
+ "name": "idx_city_part",
1248
+ "type": "BTREE",
1249
+ "columns": [
1250
+ {
1251
+ "value": "city(5)",
1252
+ "type": "expression"
1253
+ }
1254
+ ],
1255
+ "unique": false
1256
+ },
1257
+ {
1258
+ "name": "idx_name",
1259
+ "type": "BTREE",
1260
+ "columns": [
1261
+ {
1262
+ "value": "name_inline",
1263
+ "type": "column"
1264
+ }
1265
+ ],
1266
+ "unique": false
1267
+ },
1268
+ {
1269
+ "name": "idx_name_lower",
1270
+ "type": "BTREE",
1271
+ "columns": [
1272
+ {
1273
+ "value": "lower(name_lower)",
1274
+ "type": "expression"
1275
+ }
1276
+ ],
1277
+ "unique": false
1278
+ }
1279
+ ],
1280
+ "hash_index_example": [
1281
+ {
1282
+ "name": "idx_name_name1",
1283
+ "type": "HASH",
1284
+ "columns": [
1285
+ {
1286
+ "value": "name",
1287
+ "type": "column"
1288
+ },
1289
+ {
1290
+ "value": "name1",
1291
+ "type": "column"
1292
+ }
1293
+ ],
1294
+ "unique": false
1295
+ }
1296
+ ],
1297
+ "composite_key_1": [
1298
+ {
1299
+ "name": "PRIMARY",
1300
+ "primary": true,
1301
+ "columns": [
1302
+ {
1303
+ "type": "column",
1304
+ "value": "id1_1"
1305
+ },
1306
+ {
1307
+ "type": "column",
1308
+ "value": "id1_2"
1309
+ }
1310
+ ]
1311
+ },
1312
+ {
1313
+ "name": "uc_unique_composite",
1314
+ "unique": true,
1315
+ "columns": [
1316
+ {
1317
+ "type": "column",
1318
+ "value": "email"
1319
+ },
1320
+ {
1321
+ "type": "column",
1322
+ "value": "name"
1323
+ }
1324
+ ]
1325
+ }
1326
+ ],
1327
+ "composite_key_2": [
1328
+ {
1329
+ "name": "PRIMARY",
1330
+ "primary": true,
1331
+ "columns": [
1332
+ {
1333
+ "type": "column",
1334
+ "value": "id2_1"
1335
+ },
1336
+ {
1337
+ "type": "column",
1338
+ "value": "id2_2"
1339
+ }
1340
+ ]
1341
+ }
1342
+ ]
1343
+ },
1344
+ "tableConstraints": {
1345
+ "categories": {
1346
+ "cat_id": {
1347
+ "checks": [],
1348
+ "pk": true
1349
+ }
1350
+ },
1351
+ "default_example": {
1352
+ "id": {
1353
+ "checks": [],
1354
+ "pk": true
1355
+ }
1356
+ },
1357
+ "hash_index_example": {
1358
+ "id": {
1359
+ "checks": [],
1360
+ "pk": true
1361
+ }
1362
+ },
1363
+ "index_example": {
1364
+ "email": {
1365
+ "checks": [],
1366
+ "unique": true
1367
+ },
1368
+ "id": {
1369
+ "checks": [],
1370
+ "pk": true
1371
+ }
1372
+ },
1373
+ "orders": {
1374
+ "order_id": {
1375
+ "checks": [],
1376
+ "pk": true
1377
+ }
1378
+ },
1379
+ "products": {
1380
+ "id": {
1381
+ "checks": [],
1382
+ "pk": true
1383
+ },
1384
+ "quantity": {
1385
+ "checks": [
1386
+ {
1387
+ "name": "max_quantity",
1388
+ "expression": "`quantity` < 10000"
1389
+ }
1390
+ ]
1391
+ },
1392
+ "total_value": {
1393
+ "checks": [
1394
+ {
1395
+ "name": "products_chk_2",
1396
+ "expression": "`total_value` > 0"
1397
+ }
1398
+ ]
1399
+ }
1400
+ },
1401
+ "users": {
1402
+ "email": {
1403
+ "checks": [],
1404
+ "unique": true
1405
+ },
1406
+ "user_id": {
1407
+ "checks": [],
1408
+ "pk": true
1409
+ },
1410
+ "username": {
1411
+ "checks": [],
1412
+ "unique": true
1413
+ }
1414
+ }
1415
+ },
1416
+ "checks": {
1417
+ "users": [
1418
+ {
1419
+ "name": "chk_last_login",
1420
+ "expression": "`created_at` <= `last_login`"
1421
+ }
1422
+ ],
1423
+ "products": [
1424
+ {
1425
+ "name": "products_chk_1",
1426
+ "expression": "(`price` > 0) and (`price` < 1000000)"
1427
+ }
1428
+ ]
1429
+ }
1430
+ }