@dbml/connector 3.9.2-alpha.0 → 3.9.3

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.
Files changed (53) hide show
  1. package/.babelrc +0 -0
  2. package/LICENSE +0 -0
  3. package/README.md +0 -0
  4. package/__tests__/connector.test.ts +0 -0
  5. package/__tests__/connectors/bigquery/out-files/schema.json +565 -0
  6. package/__tests__/connectors/mssql/connection.json +0 -0
  7. package/__tests__/connectors/mssql/expect-out-files/schema.json +424 -424
  8. package/__tests__/connectors/mssql/out-files/schema.json +1858 -0
  9. package/__tests__/connectors/mysql/connection.json +0 -0
  10. package/__tests__/connectors/mysql/expect-out-files/schema.json +0 -0
  11. package/__tests__/connectors/mysql/out-files/schema.json +1390 -0
  12. package/__tests__/connectors/postgres/connection.json +0 -0
  13. package/__tests__/connectors/postgres/expect-out-files/schema.json +356 -356
  14. package/__tests__/connectors/postgres/out-files/schema.json +1619 -0
  15. package/dist/connectors/bigqueryConnector.d.ts +0 -0
  16. package/dist/connectors/bigqueryConnector.js +2 -7
  17. package/dist/connectors/connector.d.ts +0 -0
  18. package/dist/connectors/connector.js +0 -0
  19. package/dist/connectors/mssqlConnector.d.ts +0 -0
  20. package/dist/connectors/mssqlConnector.js +4 -2
  21. package/dist/connectors/mysqlConnector.d.ts +0 -0
  22. package/dist/connectors/mysqlConnector.js +0 -0
  23. package/dist/connectors/postgresConnector.d.ts +0 -0
  24. package/dist/connectors/postgresConnector.js +37 -19
  25. package/dist/connectors/snowflakeConnector.d.ts +0 -0
  26. package/dist/connectors/snowflakeConnector.js +1 -1
  27. package/dist/connectors/types.d.ts +0 -0
  28. package/dist/connectors/types.js +0 -0
  29. package/dist/index.d.ts +0 -0
  30. package/dist/index.js +0 -0
  31. package/dist/utils/credential-loader.d.ts +0 -0
  32. package/dist/utils/credential-loader.js +0 -0
  33. package/dist/utils/helpers.d.ts +0 -0
  34. package/dist/utils/helpers.js +0 -0
  35. package/dist/utils/parseSchema.d.ts +0 -0
  36. package/dist/utils/parseSchema.js +0 -0
  37. package/jest.config.ts +0 -0
  38. package/jestHelpers.ts +0 -0
  39. package/package.json +2 -2
  40. package/src/connectors/bigqueryConnector.ts +2 -7
  41. package/src/connectors/connector.ts +0 -0
  42. package/src/connectors/mssqlConnector.ts +4 -2
  43. package/src/connectors/mysqlConnector.ts +0 -0
  44. package/src/connectors/postgresConnector.ts +37 -19
  45. package/src/connectors/snowflakeConnector.ts +1 -1
  46. package/src/connectors/types.ts +0 -0
  47. package/src/ddl_samples/bigquery.sql +0 -0
  48. package/src/ddl_samples/snowflake.sql +0 -0
  49. package/src/index.ts +0 -0
  50. package/src/utils/credential-loader.ts +0 -0
  51. package/src/utils/helpers.ts +0 -0
  52. package/src/utils/parseSchema.ts +0 -0
  53. package/tsconfig.json +0 -0
@@ -0,0 +1,1619 @@
1
+ {
2
+ "tables": [
3
+ {
4
+ "name": "table1",
5
+ "schemaName": "dbml_test",
6
+ "note": {
7
+ "value": ""
8
+ }
9
+ },
10
+ {
11
+ "name": "table3",
12
+ "schemaName": "dbml_test",
13
+ "note": {
14
+ "value": ""
15
+ }
16
+ },
17
+ {
18
+ "name": "users",
19
+ "schemaName": "public",
20
+ "note": {
21
+ "value": ""
22
+ }
23
+ },
24
+ {
25
+ "name": "products",
26
+ "schemaName": "public",
27
+ "note": {
28
+ "value": ""
29
+ }
30
+ },
31
+ {
32
+ "name": "orders",
33
+ "schemaName": "public",
34
+ "note": {
35
+ "value": ""
36
+ }
37
+ },
38
+ {
39
+ "name": "order_items",
40
+ "schemaName": "public",
41
+ "note": {
42
+ "value": ""
43
+ }
44
+ },
45
+ {
46
+ "name": "all_string_types",
47
+ "schemaName": "public",
48
+ "note": {
49
+ "value": ""
50
+ }
51
+ },
52
+ {
53
+ "name": "all_default_values",
54
+ "schemaName": "public",
55
+ "note": {
56
+ "value": ""
57
+ }
58
+ },
59
+ {
60
+ "name": "user_define_data_types",
61
+ "schemaName": "public",
62
+ "note": {
63
+ "value": ""
64
+ }
65
+ },
66
+ {
67
+ "name": "table_with_comments",
68
+ "schemaName": "public",
69
+ "note": {
70
+ "value": "This table stores information about various items. Such as: 'id', 'name', 'description'"
71
+ }
72
+ },
73
+ {
74
+ "name": "authors",
75
+ "schemaName": "public",
76
+ "note": {
77
+ "value": ""
78
+ }
79
+ },
80
+ {
81
+ "name": "books",
82
+ "schemaName": "public",
83
+ "note": {
84
+ "value": ""
85
+ }
86
+ },
87
+ {
88
+ "name": "table1",
89
+ "schemaName": "public",
90
+ "note": {
91
+ "value": ""
92
+ }
93
+ },
94
+ {
95
+ "name": "table2",
96
+ "schemaName": "public",
97
+ "note": {
98
+ "value": ""
99
+ }
100
+ }
101
+ ],
102
+ "fields": {
103
+ "dbml_test.table1": [
104
+ {
105
+ "name": "id",
106
+ "type": {
107
+ "type_name": "int4",
108
+ "schemaName": null
109
+ },
110
+ "dbdefault": null,
111
+ "not_null": true,
112
+ "increment": true,
113
+ "note": {
114
+ "value": ""
115
+ }
116
+ },
117
+ {
118
+ "name": "status",
119
+ "type": {
120
+ "type_name": "enum_type1",
121
+ "schemaName": "dbml_test"
122
+ },
123
+ "dbdefault": null,
124
+ "not_null": false,
125
+ "increment": false,
126
+ "note": {
127
+ "value": ""
128
+ }
129
+ }
130
+ ],
131
+ "dbml_test.table3": [
132
+ {
133
+ "name": "id",
134
+ "type": {
135
+ "type_name": "int4",
136
+ "schemaName": null
137
+ },
138
+ "dbdefault": null,
139
+ "not_null": true,
140
+ "increment": true,
141
+ "note": {
142
+ "value": ""
143
+ }
144
+ },
145
+ {
146
+ "name": "status",
147
+ "type": {
148
+ "type_name": "enum_type3",
149
+ "schemaName": "dbml_test"
150
+ },
151
+ "dbdefault": null,
152
+ "not_null": false,
153
+ "increment": false,
154
+ "note": {
155
+ "value": ""
156
+ }
157
+ }
158
+ ],
159
+ "public.users": [
160
+ {
161
+ "name": "user_id",
162
+ "type": {
163
+ "type_name": "int4",
164
+ "schemaName": null
165
+ },
166
+ "dbdefault": null,
167
+ "not_null": true,
168
+ "increment": true,
169
+ "note": {
170
+ "value": ""
171
+ }
172
+ },
173
+ {
174
+ "name": "username",
175
+ "type": {
176
+ "type_name": "varchar(50)",
177
+ "schemaName": null
178
+ },
179
+ "dbdefault": null,
180
+ "not_null": true,
181
+ "increment": false,
182
+ "note": {
183
+ "value": ""
184
+ }
185
+ },
186
+ {
187
+ "name": "email",
188
+ "type": {
189
+ "type_name": "varchar(100)",
190
+ "schemaName": null
191
+ },
192
+ "dbdefault": null,
193
+ "not_null": true,
194
+ "increment": false,
195
+ "note": {
196
+ "value": ""
197
+ }
198
+ },
199
+ {
200
+ "name": "password_hash",
201
+ "type": {
202
+ "type_name": "varchar(255)",
203
+ "schemaName": null
204
+ },
205
+ "dbdefault": null,
206
+ "not_null": true,
207
+ "increment": false,
208
+ "note": {
209
+ "value": ""
210
+ }
211
+ },
212
+ {
213
+ "name": "first_name",
214
+ "type": {
215
+ "type_name": "varchar(50)",
216
+ "schemaName": null
217
+ },
218
+ "dbdefault": null,
219
+ "not_null": false,
220
+ "increment": false,
221
+ "note": {
222
+ "value": ""
223
+ }
224
+ },
225
+ {
226
+ "name": "last_name",
227
+ "type": {
228
+ "type_name": "varchar(50)",
229
+ "schemaName": null
230
+ },
231
+ "dbdefault": null,
232
+ "not_null": false,
233
+ "increment": false,
234
+ "note": {
235
+ "value": ""
236
+ }
237
+ },
238
+ {
239
+ "name": "full_name",
240
+ "type": {
241
+ "type_name": "varchar(100)",
242
+ "schemaName": null
243
+ },
244
+ "dbdefault": null,
245
+ "not_null": false,
246
+ "increment": false,
247
+ "note": {
248
+ "value": ""
249
+ }
250
+ },
251
+ {
252
+ "name": "date_of_birth",
253
+ "type": {
254
+ "type_name": "date",
255
+ "schemaName": null
256
+ },
257
+ "dbdefault": null,
258
+ "not_null": false,
259
+ "increment": false,
260
+ "note": {
261
+ "value": ""
262
+ }
263
+ },
264
+ {
265
+ "name": "created_at",
266
+ "type": {
267
+ "type_name": "timestamptz",
268
+ "schemaName": null
269
+ },
270
+ "dbdefault": {
271
+ "type": "expression",
272
+ "value": "CURRENT_TIMESTAMP"
273
+ },
274
+ "not_null": false,
275
+ "increment": false,
276
+ "note": {
277
+ "value": ""
278
+ }
279
+ },
280
+ {
281
+ "name": "last_login",
282
+ "type": {
283
+ "type_name": "timestamptz",
284
+ "schemaName": null
285
+ },
286
+ "dbdefault": null,
287
+ "not_null": false,
288
+ "increment": false,
289
+ "note": {
290
+ "value": ""
291
+ }
292
+ },
293
+ {
294
+ "name": "is_active",
295
+ "type": {
296
+ "type_name": "bool",
297
+ "schemaName": null
298
+ },
299
+ "dbdefault": {
300
+ "type": "boolean",
301
+ "value": "true"
302
+ },
303
+ "not_null": false,
304
+ "increment": false,
305
+ "note": {
306
+ "value": ""
307
+ }
308
+ }
309
+ ],
310
+ "public.products": [
311
+ {
312
+ "name": "product_id",
313
+ "type": {
314
+ "type_name": "int4",
315
+ "schemaName": null
316
+ },
317
+ "dbdefault": null,
318
+ "not_null": true,
319
+ "increment": true,
320
+ "note": {
321
+ "value": ""
322
+ }
323
+ },
324
+ {
325
+ "name": "name",
326
+ "type": {
327
+ "type_name": "varchar(100)",
328
+ "schemaName": null
329
+ },
330
+ "dbdefault": null,
331
+ "not_null": true,
332
+ "increment": false,
333
+ "note": {
334
+ "value": ""
335
+ }
336
+ },
337
+ {
338
+ "name": "description",
339
+ "type": {
340
+ "type_name": "text",
341
+ "schemaName": null
342
+ },
343
+ "dbdefault": null,
344
+ "not_null": false,
345
+ "increment": false,
346
+ "note": {
347
+ "value": ""
348
+ }
349
+ },
350
+ {
351
+ "name": "price",
352
+ "type": {
353
+ "type_name": "numeric(10,2)",
354
+ "schemaName": null
355
+ },
356
+ "dbdefault": null,
357
+ "not_null": true,
358
+ "increment": false,
359
+ "note": {
360
+ "value": ""
361
+ }
362
+ },
363
+ {
364
+ "name": "stock_quantity",
365
+ "type": {
366
+ "type_name": "int4",
367
+ "schemaName": null
368
+ },
369
+ "dbdefault": {
370
+ "type": "number",
371
+ "value": "0"
372
+ },
373
+ "not_null": true,
374
+ "increment": false,
375
+ "note": {
376
+ "value": ""
377
+ }
378
+ },
379
+ {
380
+ "name": "category",
381
+ "type": {
382
+ "type_name": "varchar(50)",
383
+ "schemaName": null
384
+ },
385
+ "dbdefault": null,
386
+ "not_null": false,
387
+ "increment": false,
388
+ "note": {
389
+ "value": ""
390
+ }
391
+ },
392
+ {
393
+ "name": "created_at",
394
+ "type": {
395
+ "type_name": "timestamptz",
396
+ "schemaName": null
397
+ },
398
+ "dbdefault": {
399
+ "type": "expression",
400
+ "value": "CURRENT_TIMESTAMP"
401
+ },
402
+ "not_null": false,
403
+ "increment": false,
404
+ "note": {
405
+ "value": ""
406
+ }
407
+ },
408
+ {
409
+ "name": "updated_at",
410
+ "type": {
411
+ "type_name": "timestamptz",
412
+ "schemaName": null
413
+ },
414
+ "dbdefault": {
415
+ "type": "expression",
416
+ "value": "CURRENT_TIMESTAMP"
417
+ },
418
+ "not_null": false,
419
+ "increment": false,
420
+ "note": {
421
+ "value": ""
422
+ }
423
+ },
424
+ {
425
+ "name": "is_available",
426
+ "type": {
427
+ "type_name": "bool",
428
+ "schemaName": null
429
+ },
430
+ "dbdefault": {
431
+ "type": "boolean",
432
+ "value": "true"
433
+ },
434
+ "not_null": false,
435
+ "increment": false,
436
+ "note": {
437
+ "value": ""
438
+ }
439
+ }
440
+ ],
441
+ "public.orders": [
442
+ {
443
+ "name": "order_id",
444
+ "type": {
445
+ "type_name": "int4",
446
+ "schemaName": null
447
+ },
448
+ "dbdefault": null,
449
+ "not_null": true,
450
+ "increment": true,
451
+ "note": {
452
+ "value": ""
453
+ }
454
+ },
455
+ {
456
+ "name": "user_id",
457
+ "type": {
458
+ "type_name": "int4",
459
+ "schemaName": null
460
+ },
461
+ "dbdefault": null,
462
+ "not_null": true,
463
+ "increment": false,
464
+ "note": {
465
+ "value": ""
466
+ }
467
+ },
468
+ {
469
+ "name": "order_date",
470
+ "type": {
471
+ "type_name": "timestamptz",
472
+ "schemaName": null
473
+ },
474
+ "dbdefault": {
475
+ "type": "expression",
476
+ "value": "CURRENT_TIMESTAMP"
477
+ },
478
+ "not_null": false,
479
+ "increment": false,
480
+ "note": {
481
+ "value": ""
482
+ }
483
+ },
484
+ {
485
+ "name": "total_amount",
486
+ "type": {
487
+ "type_name": "numeric(12,2)",
488
+ "schemaName": null
489
+ },
490
+ "dbdefault": null,
491
+ "not_null": true,
492
+ "increment": false,
493
+ "note": {
494
+ "value": ""
495
+ }
496
+ },
497
+ {
498
+ "name": "status",
499
+ "type": {
500
+ "type_name": "varchar(20)",
501
+ "schemaName": null
502
+ },
503
+ "dbdefault": {
504
+ "type": "string",
505
+ "value": "pending"
506
+ },
507
+ "not_null": false,
508
+ "increment": false,
509
+ "note": {
510
+ "value": ""
511
+ }
512
+ },
513
+ {
514
+ "name": "shipping_address",
515
+ "type": {
516
+ "type_name": "text",
517
+ "schemaName": null
518
+ },
519
+ "dbdefault": null,
520
+ "not_null": true,
521
+ "increment": false,
522
+ "note": {
523
+ "value": ""
524
+ }
525
+ },
526
+ {
527
+ "name": "billing_address",
528
+ "type": {
529
+ "type_name": "text",
530
+ "schemaName": null
531
+ },
532
+ "dbdefault": null,
533
+ "not_null": true,
534
+ "increment": false,
535
+ "note": {
536
+ "value": ""
537
+ }
538
+ }
539
+ ],
540
+ "public.order_items": [
541
+ {
542
+ "name": "order_item_id",
543
+ "type": {
544
+ "type_name": "int4",
545
+ "schemaName": null
546
+ },
547
+ "dbdefault": null,
548
+ "not_null": true,
549
+ "increment": true,
550
+ "note": {
551
+ "value": ""
552
+ }
553
+ },
554
+ {
555
+ "name": "order_id",
556
+ "type": {
557
+ "type_name": "int4",
558
+ "schemaName": null
559
+ },
560
+ "dbdefault": null,
561
+ "not_null": true,
562
+ "increment": false,
563
+ "note": {
564
+ "value": ""
565
+ }
566
+ },
567
+ {
568
+ "name": "product_id",
569
+ "type": {
570
+ "type_name": "int4",
571
+ "schemaName": null
572
+ },
573
+ "dbdefault": null,
574
+ "not_null": true,
575
+ "increment": false,
576
+ "note": {
577
+ "value": ""
578
+ }
579
+ },
580
+ {
581
+ "name": "quantity",
582
+ "type": {
583
+ "type_name": "int4",
584
+ "schemaName": null
585
+ },
586
+ "dbdefault": null,
587
+ "not_null": true,
588
+ "increment": false,
589
+ "note": {
590
+ "value": ""
591
+ }
592
+ },
593
+ {
594
+ "name": "unit_price",
595
+ "type": {
596
+ "type_name": "numeric(10,2)",
597
+ "schemaName": null
598
+ },
599
+ "dbdefault": null,
600
+ "not_null": true,
601
+ "increment": false,
602
+ "note": {
603
+ "value": ""
604
+ }
605
+ }
606
+ ],
607
+ "public.all_string_types": [
608
+ {
609
+ "name": "text_col",
610
+ "type": {
611
+ "type_name": "text",
612
+ "schemaName": null
613
+ },
614
+ "dbdefault": {
615
+ "type": "string",
616
+ "value": "default_text"
617
+ },
618
+ "not_null": false,
619
+ "increment": false,
620
+ "note": {
621
+ "value": ""
622
+ }
623
+ },
624
+ {
625
+ "name": "varchar_col",
626
+ "type": {
627
+ "type_name": "varchar(100)",
628
+ "schemaName": null
629
+ },
630
+ "dbdefault": {
631
+ "type": "string",
632
+ "value": "default_varchar"
633
+ },
634
+ "not_null": false,
635
+ "increment": false,
636
+ "note": {
637
+ "value": ""
638
+ }
639
+ },
640
+ {
641
+ "name": "char_col",
642
+ "type": {
643
+ "type_name": "bpchar(10)",
644
+ "schemaName": null
645
+ },
646
+ "dbdefault": {
647
+ "type": "string",
648
+ "value": "default_char"
649
+ },
650
+ "not_null": false,
651
+ "increment": false,
652
+ "note": {
653
+ "value": ""
654
+ }
655
+ },
656
+ {
657
+ "name": "character_varying_col",
658
+ "type": {
659
+ "type_name": "varchar(50)",
660
+ "schemaName": null
661
+ },
662
+ "dbdefault": {
663
+ "type": "string",
664
+ "value": "default_character_varying"
665
+ },
666
+ "not_null": false,
667
+ "increment": false,
668
+ "note": {
669
+ "value": ""
670
+ }
671
+ },
672
+ {
673
+ "name": "character_col",
674
+ "type": {
675
+ "type_name": "bpchar(5)",
676
+ "schemaName": null
677
+ },
678
+ "dbdefault": {
679
+ "type": "string",
680
+ "value": "default_character"
681
+ },
682
+ "not_null": false,
683
+ "increment": false,
684
+ "note": {
685
+ "value": ""
686
+ }
687
+ },
688
+ {
689
+ "name": "name_col",
690
+ "type": {
691
+ "type_name": "name",
692
+ "schemaName": null
693
+ },
694
+ "dbdefault": {
695
+ "type": "string",
696
+ "value": "default_name"
697
+ },
698
+ "not_null": false,
699
+ "increment": false,
700
+ "note": {
701
+ "value": ""
702
+ }
703
+ },
704
+ {
705
+ "name": "bpchar_col",
706
+ "type": {
707
+ "type_name": "bpchar(15)",
708
+ "schemaName": null
709
+ },
710
+ "dbdefault": {
711
+ "type": "string",
712
+ "value": "default_bpchar"
713
+ },
714
+ "not_null": false,
715
+ "increment": false,
716
+ "note": {
717
+ "value": ""
718
+ }
719
+ },
720
+ {
721
+ "name": "text_array_col",
722
+ "type": {
723
+ "type_name": "text[]",
724
+ "schemaName": null
725
+ },
726
+ "dbdefault": {
727
+ "type": "expression",
728
+ "value": "ARRAY['default_text1', 'default_text2']"
729
+ },
730
+ "not_null": false,
731
+ "increment": false,
732
+ "note": {
733
+ "value": ""
734
+ }
735
+ },
736
+ {
737
+ "name": "json_col",
738
+ "type": {
739
+ "type_name": "json",
740
+ "schemaName": null
741
+ },
742
+ "dbdefault": {
743
+ "type": "expression",
744
+ "value": "{\"default_key\": \"default_value\"}"
745
+ },
746
+ "not_null": false,
747
+ "increment": false,
748
+ "note": {
749
+ "value": ""
750
+ }
751
+ },
752
+ {
753
+ "name": "jsonb_col",
754
+ "type": {
755
+ "type_name": "jsonb",
756
+ "schemaName": null
757
+ },
758
+ "dbdefault": {
759
+ "type": "expression",
760
+ "value": "{\"default_key\": \"default_value\"}"
761
+ },
762
+ "not_null": false,
763
+ "increment": false,
764
+ "note": {
765
+ "value": ""
766
+ }
767
+ }
768
+ ],
769
+ "public.all_default_values": [
770
+ {
771
+ "name": "id",
772
+ "type": {
773
+ "type_name": "int4",
774
+ "schemaName": null
775
+ },
776
+ "dbdefault": null,
777
+ "not_null": true,
778
+ "increment": true,
779
+ "note": {
780
+ "value": ""
781
+ }
782
+ },
783
+ {
784
+ "name": "boolean_col",
785
+ "type": {
786
+ "type_name": "bool",
787
+ "schemaName": null
788
+ },
789
+ "dbdefault": {
790
+ "type": "boolean",
791
+ "value": "true"
792
+ },
793
+ "not_null": false,
794
+ "increment": false,
795
+ "note": {
796
+ "value": ""
797
+ }
798
+ },
799
+ {
800
+ "name": "integer_col",
801
+ "type": {
802
+ "type_name": "int4",
803
+ "schemaName": null
804
+ },
805
+ "dbdefault": {
806
+ "type": "number",
807
+ "value": "42"
808
+ },
809
+ "not_null": false,
810
+ "increment": false,
811
+ "note": {
812
+ "value": ""
813
+ }
814
+ },
815
+ {
816
+ "name": "numeric_col",
817
+ "type": {
818
+ "type_name": "numeric(10,2)",
819
+ "schemaName": null
820
+ },
821
+ "dbdefault": {
822
+ "type": "number",
823
+ "value": "99.99"
824
+ },
825
+ "not_null": false,
826
+ "increment": false,
827
+ "note": {
828
+ "value": ""
829
+ }
830
+ },
831
+ {
832
+ "name": "date_col",
833
+ "type": {
834
+ "type_name": "date",
835
+ "schemaName": null
836
+ },
837
+ "dbdefault": {
838
+ "type": "expression",
839
+ "value": "CURRENT_DATE"
840
+ },
841
+ "not_null": false,
842
+ "increment": false,
843
+ "note": {
844
+ "value": ""
845
+ }
846
+ },
847
+ {
848
+ "name": "date_col_specific",
849
+ "type": {
850
+ "type_name": "date",
851
+ "schemaName": null
852
+ },
853
+ "dbdefault": {
854
+ "type": "string",
855
+ "value": "2024-01-01"
856
+ },
857
+ "not_null": false,
858
+ "increment": false,
859
+ "note": {
860
+ "value": ""
861
+ }
862
+ },
863
+ {
864
+ "name": "timestamp_col",
865
+ "type": {
866
+ "type_name": "timestamp",
867
+ "schemaName": null
868
+ },
869
+ "dbdefault": {
870
+ "type": "expression",
871
+ "value": "CURRENT_TIMESTAMP"
872
+ },
873
+ "not_null": false,
874
+ "increment": false,
875
+ "note": {
876
+ "value": ""
877
+ }
878
+ },
879
+ {
880
+ "name": "timestamp_col_specific",
881
+ "type": {
882
+ "type_name": "timestamp",
883
+ "schemaName": null
884
+ },
885
+ "dbdefault": {
886
+ "type": "string",
887
+ "value": "2024-01-01 12:00:00"
888
+ },
889
+ "not_null": false,
890
+ "increment": false,
891
+ "note": {
892
+ "value": ""
893
+ }
894
+ },
895
+ {
896
+ "name": "date_plus_7_days",
897
+ "type": {
898
+ "type_name": "date",
899
+ "schemaName": null
900
+ },
901
+ "dbdefault": {
902
+ "type": "expression",
903
+ "value": "(CURRENT_DATE + '7 days'::interval)"
904
+ },
905
+ "not_null": false,
906
+ "increment": false,
907
+ "note": {
908
+ "value": ""
909
+ }
910
+ },
911
+ {
912
+ "name": "date_minus_30_days",
913
+ "type": {
914
+ "type_name": "date",
915
+ "schemaName": null
916
+ },
917
+ "dbdefault": {
918
+ "type": "expression",
919
+ "value": "(CURRENT_DATE - '30 days'::interval)"
920
+ },
921
+ "not_null": false,
922
+ "increment": false,
923
+ "note": {
924
+ "value": ""
925
+ }
926
+ },
927
+ {
928
+ "name": "timestamp_plus_1_hour",
929
+ "type": {
930
+ "type_name": "timestamp",
931
+ "schemaName": null
932
+ },
933
+ "dbdefault": {
934
+ "type": "expression",
935
+ "value": "(CURRENT_TIMESTAMP + '01:00:00'::interval)"
936
+ },
937
+ "not_null": false,
938
+ "increment": false,
939
+ "note": {
940
+ "value": ""
941
+ }
942
+ },
943
+ {
944
+ "name": "timestamp_minus_15_minutes",
945
+ "type": {
946
+ "type_name": "timestamp",
947
+ "schemaName": null
948
+ },
949
+ "dbdefault": {
950
+ "type": "expression",
951
+ "value": "(CURRENT_TIMESTAMP - '00:15:00'::interval)"
952
+ },
953
+ "not_null": false,
954
+ "increment": false,
955
+ "note": {
956
+ "value": ""
957
+ }
958
+ }
959
+ ],
960
+ "public.user_define_data_types": [
961
+ {
962
+ "name": "id",
963
+ "type": {
964
+ "type_name": "int4",
965
+ "schemaName": null
966
+ },
967
+ "dbdefault": null,
968
+ "not_null": true,
969
+ "increment": true,
970
+ "note": {
971
+ "value": ""
972
+ }
973
+ },
974
+ {
975
+ "name": "name",
976
+ "type": {
977
+ "type_name": "varchar(50)",
978
+ "schemaName": null
979
+ },
980
+ "dbdefault": null,
981
+ "not_null": false,
982
+ "increment": false,
983
+ "note": {
984
+ "value": ""
985
+ }
986
+ },
987
+ {
988
+ "name": "gender",
989
+ "type": {
990
+ "type_name": "gender_type",
991
+ "schemaName": "public"
992
+ },
993
+ "dbdefault": null,
994
+ "not_null": false,
995
+ "increment": false,
996
+ "note": {
997
+ "value": ""
998
+ }
999
+ },
1000
+ {
1001
+ "name": "age",
1002
+ "type": {
1003
+ "type_name": "int4range",
1004
+ "schemaName": null
1005
+ },
1006
+ "dbdefault": null,
1007
+ "not_null": false,
1008
+ "increment": false,
1009
+ "note": {
1010
+ "value": ""
1011
+ }
1012
+ },
1013
+ {
1014
+ "name": "height",
1015
+ "type": {
1016
+ "type_name": "float8",
1017
+ "schemaName": null
1018
+ },
1019
+ "dbdefault": null,
1020
+ "not_null": false,
1021
+ "increment": false,
1022
+ "note": {
1023
+ "value": ""
1024
+ }
1025
+ },
1026
+ {
1027
+ "name": "weight",
1028
+ "type": {
1029
+ "type_name": "float8",
1030
+ "schemaName": null
1031
+ },
1032
+ "dbdefault": null,
1033
+ "not_null": false,
1034
+ "increment": false,
1035
+ "note": {
1036
+ "value": ""
1037
+ }
1038
+ }
1039
+ ],
1040
+ "public.table_with_comments": [
1041
+ {
1042
+ "name": "id",
1043
+ "type": {
1044
+ "type_name": "int4",
1045
+ "schemaName": null
1046
+ },
1047
+ "dbdefault": null,
1048
+ "not_null": true,
1049
+ "increment": true,
1050
+ "note": {
1051
+ "value": "Unique identifier for each item."
1052
+ }
1053
+ },
1054
+ {
1055
+ "name": "name",
1056
+ "type": {
1057
+ "type_name": "varchar(100)",
1058
+ "schemaName": null
1059
+ },
1060
+ "dbdefault": null,
1061
+ "not_null": false,
1062
+ "increment": false,
1063
+ "note": {
1064
+ "value": "Item's name."
1065
+ }
1066
+ },
1067
+ {
1068
+ "name": "description",
1069
+ "type": {
1070
+ "type_name": "text",
1071
+ "schemaName": null
1072
+ },
1073
+ "dbdefault": null,
1074
+ "not_null": false,
1075
+ "increment": false,
1076
+ "note": {
1077
+ "value": "Item's description"
1078
+ }
1079
+ },
1080
+ {
1081
+ "name": "created_at",
1082
+ "type": {
1083
+ "type_name": "timestamptz",
1084
+ "schemaName": null
1085
+ },
1086
+ "dbdefault": {
1087
+ "type": "expression",
1088
+ "value": "CURRENT_TIMESTAMP"
1089
+ },
1090
+ "not_null": false,
1091
+ "increment": false,
1092
+ "note": {
1093
+ "value": "Timestamp when the item was created."
1094
+ }
1095
+ }
1096
+ ],
1097
+ "public.authors": [
1098
+ {
1099
+ "name": "authorid",
1100
+ "type": {
1101
+ "type_name": "int4",
1102
+ "schemaName": null
1103
+ },
1104
+ "dbdefault": null,
1105
+ "not_null": true,
1106
+ "increment": true,
1107
+ "note": {
1108
+ "value": ""
1109
+ }
1110
+ },
1111
+ {
1112
+ "name": "nationalityid",
1113
+ "type": {
1114
+ "type_name": "int4",
1115
+ "schemaName": null
1116
+ },
1117
+ "dbdefault": null,
1118
+ "not_null": true,
1119
+ "increment": false,
1120
+ "note": {
1121
+ "value": ""
1122
+ }
1123
+ },
1124
+ {
1125
+ "name": "authorname",
1126
+ "type": {
1127
+ "type_name": "varchar(100)",
1128
+ "schemaName": null
1129
+ },
1130
+ "dbdefault": null,
1131
+ "not_null": false,
1132
+ "increment": false,
1133
+ "note": {
1134
+ "value": ""
1135
+ }
1136
+ },
1137
+ {
1138
+ "name": "birthyear",
1139
+ "type": {
1140
+ "type_name": "int4",
1141
+ "schemaName": null
1142
+ },
1143
+ "dbdefault": null,
1144
+ "not_null": false,
1145
+ "increment": false,
1146
+ "note": {
1147
+ "value": ""
1148
+ }
1149
+ }
1150
+ ],
1151
+ "public.books": [
1152
+ {
1153
+ "name": "bookid",
1154
+ "type": {
1155
+ "type_name": "int4",
1156
+ "schemaName": null
1157
+ },
1158
+ "dbdefault": null,
1159
+ "not_null": true,
1160
+ "increment": true,
1161
+ "note": {
1162
+ "value": ""
1163
+ }
1164
+ },
1165
+ {
1166
+ "name": "authorid",
1167
+ "type": {
1168
+ "type_name": "int4",
1169
+ "schemaName": null
1170
+ },
1171
+ "dbdefault": null,
1172
+ "not_null": false,
1173
+ "increment": false,
1174
+ "note": {
1175
+ "value": ""
1176
+ }
1177
+ },
1178
+ {
1179
+ "name": "nationalityid",
1180
+ "type": {
1181
+ "type_name": "int4",
1182
+ "schemaName": null
1183
+ },
1184
+ "dbdefault": null,
1185
+ "not_null": false,
1186
+ "increment": false,
1187
+ "note": {
1188
+ "value": ""
1189
+ }
1190
+ },
1191
+ {
1192
+ "name": "isbn",
1193
+ "type": {
1194
+ "type_name": "varchar(20)",
1195
+ "schemaName": null
1196
+ },
1197
+ "dbdefault": null,
1198
+ "not_null": false,
1199
+ "increment": false,
1200
+ "note": {
1201
+ "value": ""
1202
+ }
1203
+ },
1204
+ {
1205
+ "name": "title",
1206
+ "type": {
1207
+ "type_name": "varchar(200)",
1208
+ "schemaName": null
1209
+ },
1210
+ "dbdefault": null,
1211
+ "not_null": false,
1212
+ "increment": false,
1213
+ "note": {
1214
+ "value": ""
1215
+ }
1216
+ }
1217
+ ],
1218
+ "public.table1": [
1219
+ {
1220
+ "name": "id",
1221
+ "type": {
1222
+ "type_name": "int4",
1223
+ "schemaName": null
1224
+ },
1225
+ "dbdefault": null,
1226
+ "not_null": true,
1227
+ "increment": true,
1228
+ "note": {
1229
+ "value": ""
1230
+ }
1231
+ },
1232
+ {
1233
+ "name": "status",
1234
+ "type": {
1235
+ "type_name": "enum_type1",
1236
+ "schemaName": "public"
1237
+ },
1238
+ "dbdefault": null,
1239
+ "not_null": false,
1240
+ "increment": false,
1241
+ "note": {
1242
+ "value": ""
1243
+ }
1244
+ }
1245
+ ],
1246
+ "public.table2": [
1247
+ {
1248
+ "name": "id",
1249
+ "type": {
1250
+ "type_name": "int4",
1251
+ "schemaName": null
1252
+ },
1253
+ "dbdefault": null,
1254
+ "not_null": true,
1255
+ "increment": true,
1256
+ "note": {
1257
+ "value": ""
1258
+ }
1259
+ },
1260
+ {
1261
+ "name": "status",
1262
+ "type": {
1263
+ "type_name": "enum_type2",
1264
+ "schemaName": "public"
1265
+ },
1266
+ "dbdefault": null,
1267
+ "not_null": false,
1268
+ "increment": false,
1269
+ "note": {
1270
+ "value": ""
1271
+ }
1272
+ }
1273
+ ]
1274
+ },
1275
+ "refs": [
1276
+ {
1277
+ "name": "fk_authornationality",
1278
+ "endpoints": [
1279
+ {
1280
+ "tableName": "books",
1281
+ "schemaName": "public",
1282
+ "fieldNames": [
1283
+ "authorid",
1284
+ "nationalityid"
1285
+ ],
1286
+ "relation": "*"
1287
+ },
1288
+ {
1289
+ "tableName": "authors",
1290
+ "schemaName": "public",
1291
+ "fieldNames": [
1292
+ "authorid",
1293
+ "nationalityid"
1294
+ ],
1295
+ "relation": "1"
1296
+ }
1297
+ ],
1298
+ "onDelete": "CASCADE",
1299
+ "onUpdate": null
1300
+ },
1301
+ {
1302
+ "name": "fk_order",
1303
+ "endpoints": [
1304
+ {
1305
+ "tableName": "order_items",
1306
+ "schemaName": "public",
1307
+ "fieldNames": [
1308
+ "order_id"
1309
+ ],
1310
+ "relation": "*"
1311
+ },
1312
+ {
1313
+ "tableName": "orders",
1314
+ "schemaName": "public",
1315
+ "fieldNames": [
1316
+ "order_id"
1317
+ ],
1318
+ "relation": "1"
1319
+ }
1320
+ ],
1321
+ "onDelete": "CASCADE",
1322
+ "onUpdate": null
1323
+ },
1324
+ {
1325
+ "name": "fk_product",
1326
+ "endpoints": [
1327
+ {
1328
+ "tableName": "order_items",
1329
+ "schemaName": "public",
1330
+ "fieldNames": [
1331
+ "product_id"
1332
+ ],
1333
+ "relation": "*"
1334
+ },
1335
+ {
1336
+ "tableName": "products",
1337
+ "schemaName": "public",
1338
+ "fieldNames": [
1339
+ "product_id"
1340
+ ],
1341
+ "relation": "1"
1342
+ }
1343
+ ],
1344
+ "onDelete": "CASCADE",
1345
+ "onUpdate": null
1346
+ },
1347
+ {
1348
+ "name": "fk_user",
1349
+ "endpoints": [
1350
+ {
1351
+ "tableName": "orders",
1352
+ "schemaName": "public",
1353
+ "fieldNames": [
1354
+ "user_id"
1355
+ ],
1356
+ "relation": "*"
1357
+ },
1358
+ {
1359
+ "tableName": "users",
1360
+ "schemaName": "public",
1361
+ "fieldNames": [
1362
+ "user_id"
1363
+ ],
1364
+ "relation": "1"
1365
+ }
1366
+ ],
1367
+ "onDelete": "CASCADE",
1368
+ "onUpdate": null
1369
+ }
1370
+ ],
1371
+ "enums": [
1372
+ {
1373
+ "name": "enum_type1",
1374
+ "schemaName": "dbml_test",
1375
+ "values": [
1376
+ {
1377
+ "name": "value1"
1378
+ },
1379
+ {
1380
+ "name": "value2"
1381
+ }
1382
+ ]
1383
+ },
1384
+ {
1385
+ "name": "enum_type3",
1386
+ "schemaName": "dbml_test",
1387
+ "values": [
1388
+ {
1389
+ "name": "value4"
1390
+ },
1391
+ {
1392
+ "name": "value5"
1393
+ }
1394
+ ]
1395
+ },
1396
+ {
1397
+ "name": "enum_type1",
1398
+ "schemaName": "public",
1399
+ "values": [
1400
+ {
1401
+ "name": "value1"
1402
+ },
1403
+ {
1404
+ "name": "value2"
1405
+ }
1406
+ ]
1407
+ },
1408
+ {
1409
+ "name": "enum_type2",
1410
+ "schemaName": "public",
1411
+ "values": [
1412
+ {
1413
+ "name": "value1"
1414
+ },
1415
+ {
1416
+ "name": "value3"
1417
+ }
1418
+ ]
1419
+ },
1420
+ {
1421
+ "name": "gender_type",
1422
+ "schemaName": "public",
1423
+ "values": [
1424
+ {
1425
+ "name": "Male"
1426
+ },
1427
+ {
1428
+ "name": "Female"
1429
+ },
1430
+ {
1431
+ "name": "Other"
1432
+ }
1433
+ ]
1434
+ }
1435
+ ],
1436
+ "indexes": {
1437
+ "public.authors": [
1438
+ {
1439
+ "name": "authors_pkey",
1440
+ "type": "btree",
1441
+ "columns": [
1442
+ {
1443
+ "type": "column",
1444
+ "value": "authorid"
1445
+ },
1446
+ {
1447
+ "type": "column",
1448
+ "value": "nationalityid"
1449
+ }
1450
+ ]
1451
+ }
1452
+ ],
1453
+ "public.order_items": [
1454
+ {
1455
+ "name": "uq_order_product",
1456
+ "type": "btree",
1457
+ "columns": [
1458
+ {
1459
+ "type": "column",
1460
+ "value": "order_id"
1461
+ },
1462
+ {
1463
+ "type": "column",
1464
+ "value": "product_id"
1465
+ }
1466
+ ]
1467
+ },
1468
+ {
1469
+ "name": "idx_order_items_order_product",
1470
+ "type": "btree",
1471
+ "columns": [
1472
+ {
1473
+ "type": "column",
1474
+ "value": "order_id"
1475
+ },
1476
+ {
1477
+ "type": "column",
1478
+ "value": "product_id"
1479
+ }
1480
+ ]
1481
+ }
1482
+ ],
1483
+ "public.orders": [
1484
+ {
1485
+ "name": "idx_orders_user_date",
1486
+ "type": "btree",
1487
+ "columns": [
1488
+ {
1489
+ "type": "column",
1490
+ "value": "user_id"
1491
+ },
1492
+ {
1493
+ "type": "column",
1494
+ "value": "order_date"
1495
+ }
1496
+ ]
1497
+ }
1498
+ ],
1499
+ "public.products": [
1500
+ {
1501
+ "name": "idx_products_category",
1502
+ "type": "btree",
1503
+ "columns": [
1504
+ {
1505
+ "type": "column",
1506
+ "value": "category"
1507
+ }
1508
+ ]
1509
+ }
1510
+ ],
1511
+ "public.users": [
1512
+ {
1513
+ "name": "User Name",
1514
+ "type": "btree",
1515
+ "columns": [
1516
+ {
1517
+ "type": "column",
1518
+ "value": "full_name"
1519
+ }
1520
+ ]
1521
+ },
1522
+ {
1523
+ "name": "idx_users_email",
1524
+ "type": "btree",
1525
+ "columns": [
1526
+ {
1527
+ "type": "column",
1528
+ "value": "email"
1529
+ }
1530
+ ]
1531
+ },
1532
+ {
1533
+ "name": "users_is_active_lower_idx",
1534
+ "type": "btree",
1535
+ "columns": [
1536
+ {
1537
+ "type": "column",
1538
+ "value": "is_active"
1539
+ },
1540
+ {
1541
+ "type": "expression",
1542
+ "value": "lower((full_name)::text)"
1543
+ }
1544
+ ]
1545
+ }
1546
+ ]
1547
+ },
1548
+ "tableConstraints": {
1549
+ "public.all_default_values": {
1550
+ "id": {
1551
+ "pk": true
1552
+ }
1553
+ },
1554
+ "public.books": {
1555
+ "bookid": {
1556
+ "pk": true
1557
+ },
1558
+ "isbn": {
1559
+ "unique": true
1560
+ }
1561
+ },
1562
+ "public.order_items": {
1563
+ "order_item_id": {
1564
+ "pk": true
1565
+ }
1566
+ },
1567
+ "public.orders": {
1568
+ "order_id": {
1569
+ "pk": true
1570
+ }
1571
+ },
1572
+ "public.products": {
1573
+ "product_id": {
1574
+ "pk": true
1575
+ }
1576
+ },
1577
+ "public.table1": {
1578
+ "id": {
1579
+ "pk": true
1580
+ }
1581
+ },
1582
+ "dbml_test.table1": {
1583
+ "id": {
1584
+ "pk": true
1585
+ }
1586
+ },
1587
+ "public.table2": {
1588
+ "id": {
1589
+ "pk": true
1590
+ }
1591
+ },
1592
+ "dbml_test.table3": {
1593
+ "id": {
1594
+ "pk": true
1595
+ }
1596
+ },
1597
+ "public.table_with_comments": {
1598
+ "id": {
1599
+ "pk": true
1600
+ }
1601
+ },
1602
+ "public.user_define_data_types": {
1603
+ "id": {
1604
+ "pk": true
1605
+ }
1606
+ },
1607
+ "public.users": {
1608
+ "user_id": {
1609
+ "pk": true
1610
+ },
1611
+ "email": {
1612
+ "unique": true
1613
+ },
1614
+ "username": {
1615
+ "unique": true
1616
+ }
1617
+ }
1618
+ }
1619
+ }