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