@dbml/cli 10.4.0-alpha.2 → 10.4.0-metadata-ref-type.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.
Files changed (107) hide show
  1. package/__tests__/db2dbml/mssql/dbml-error.log +99 -0
  2. package/__tests__/db2dbml/mysql/dbml-error.log +27 -0
  3. package/__tests__/db2dbml/oracle/dbml-error.log +112 -0
  4. package/__tests__/db2dbml/postgres/dbml-error.log +56 -0
  5. package/__tests__/dbml2sql/filename --mysql --out-file/out-files/schema.sql +65 -0
  6. package/__tests__/dbml2sql/filename --oracle --out-file/out-files/schema.sql +61 -0
  7. package/__tests__/dbml2sql/filename --oracle stdout/dbml-error.log +0 -0
  8. package/__tests__/dbml2sql/filename --out-file/dbml-error.log +0 -0
  9. package/__tests__/dbml2sql/filename --out-file/out-files/schema.sql +77 -0
  10. package/__tests__/dbml2sql/filename --postgres --out-file/dbml-error.log +0 -0
  11. package/__tests__/dbml2sql/filename --postgres --out-file/out-files/schema.sql +77 -0
  12. package/__tests__/dbml2sql/filename --postgres stdout/dbml-error.log +0 -0
  13. package/__tests__/dbml2sql/filename stdout/dbml-error.log +0 -0
  14. package/__tests__/dbml2sql/filenames --mysql --out-file/dbml-error.log +0 -0
  15. package/__tests__/dbml2sql/filenames --mysql --out-file/out-files/schema.sql +172 -0
  16. package/__tests__/dbml2sql/filenames --mysql stdout/dbml-error.log +0 -0
  17. package/__tests__/dbml2sql/filenames --oracle --out-file/dbml-error.log +0 -0
  18. package/__tests__/dbml2sql/filenames --oracle --out-file/out-files/schema.sql +172 -0
  19. package/__tests__/dbml2sql/filenames --oracle stdout/dbml-error.log +0 -0
  20. package/__tests__/dbml2sql/filenames --out-file/dbml-error.log +0 -0
  21. package/__tests__/dbml2sql/filenames --out-file/out-files/schema.sql +172 -0
  22. package/__tests__/dbml2sql/filenames --postgres --out-file/dbml-error.log +0 -0
  23. package/__tests__/dbml2sql/filenames --postgres --out-file/out-files/schema.sql +172 -0
  24. package/__tests__/dbml2sql/filenames --postgres stdout/dbml-error.log +0 -0
  25. package/__tests__/dbml2sql/filenames stdout/dbml-error.log +0 -0
  26. package/__tests__/dbml2sql/multifile error entry-syntax-error/dbml-error.log +41 -1
  27. package/__tests__/dbml2sql/multifile error entry-syntax-error/stdout.txt +1 -1
  28. package/__tests__/dbml2sql/multifile error import-not-found/dbml-error.log +6921 -441
  29. package/__tests__/dbml2sql/multifile error imported-syntax-error/dbml-error.log +41 -1
  30. package/__tests__/dbml2sql/multifile error imported-syntax-error/stdout.txt +1 -1
  31. package/__tests__/dbml2sql/multifile error transitive-use-not-visible/dbml-error.log +33 -1
  32. package/__tests__/dbml2sql/multiple_schema_mssql/dbml-error.log +0 -0
  33. package/__tests__/dbml2sql/multiple_schema_mssql/out-files/multiple_schema.out.sql +62 -0
  34. package/__tests__/dbml2sql/multiple_schema_mysql/dbml-error.log +0 -0
  35. package/__tests__/dbml2sql/multiple_schema_mysql/out-files/multiple_schema.out.sql +50 -0
  36. package/__tests__/dbml2sql/multiple_schema_oracle/dbml-error.log +0 -0
  37. package/__tests__/dbml2sql/multiple_schema_oracle/out-files/multiple_schema.out.sql +88 -0
  38. package/__tests__/dbml2sql/multiple_schema_pg/dbml-error.log +0 -0
  39. package/__tests__/dbml2sql/multiple_schema_pg/out-files/multiple_schema.out.sql +67 -0
  40. package/__tests__/dbml2sql/single file stdout/dbml-error.log +0 -0
  41. package/__tests__/dbml2sql/syntax-error/dbml-error.log +45 -0
  42. package/__tests__/dbml2sql/syntax-error/stdout.txt +1 -1
  43. package/__tests__/sql2dbml/custom-error-alter-table-column-not-found --oracle/dbml-error.log +36 -0
  44. package/__tests__/sql2dbml/custom-error-alter-table-column-not-found --oracle/stdout.txt +1 -1
  45. package/__tests__/sql2dbml/custom-error-alter-table-table-not-found --oracle/dbml-error.log +36 -0
  46. package/__tests__/sql2dbml/custom-error-column-comment-column-not-found --oracle/dbml-error.log +36 -0
  47. package/__tests__/sql2dbml/custom-error-column-comment-table-not-found --oracle/dbml-error.log +36 -0
  48. package/__tests__/sql2dbml/custom-error-create-index-table-not-found --oracle/dbml-error.log +36 -0
  49. package/__tests__/sql2dbml/custom-error-table-comment-table-not-found --oracle/dbml-error.log +36 -0
  50. package/__tests__/sql2dbml/filename --mssql --out-file/dbml-error.log +0 -0
  51. package/__tests__/sql2dbml/filename --mssql --out-file/out-files/schema.dbml +25 -0
  52. package/__tests__/sql2dbml/filename --mysql --out-file/dbml-error.log +0 -0
  53. package/__tests__/sql2dbml/filename --mysql --out-file/out-files/schema.dbml +74 -0
  54. package/__tests__/sql2dbml/filename --mysql stdout/dbml-error.log +0 -0
  55. package/__tests__/sql2dbml/filename --oracle --out-file/dbml-error.log +0 -0
  56. package/__tests__/sql2dbml/filename --oracle --out-file/out-files/schema.dbml +83 -0
  57. package/__tests__/sql2dbml/filename --out-file/dbml-error.log +0 -0
  58. package/__tests__/sql2dbml/filename --out-file/out-files/schema.dbml +74 -0
  59. package/__tests__/sql2dbml/filename --postgres --out-file/dbml-error.log +0 -0
  60. package/__tests__/sql2dbml/filename --postgres --out-file/out-files/schema.dbml +74 -0
  61. package/__tests__/sql2dbml/filename --postgres stdout/dbml-error.log +0 -0
  62. package/__tests__/sql2dbml/filename --snowflake stdout/dbml-error.log +0 -0
  63. package/__tests__/sql2dbml/filename stdout/dbml-error.log +0 -0
  64. package/__tests__/sql2dbml/filenames --mysql --out-file/dbml-error.log +0 -0
  65. package/__tests__/sql2dbml/filenames --mysql --out-file/out-files/schema.dbml +170 -0
  66. package/__tests__/sql2dbml/filenames --mysql stdout/dbml-error.log +0 -0
  67. package/__tests__/sql2dbml/filenames --out-file/dbml-error.log +0 -0
  68. package/__tests__/sql2dbml/filenames --out-file/out-files/schema.dbml +170 -0
  69. package/__tests__/sql2dbml/filenames --postgres --out-file/dbml-error.log +0 -0
  70. package/__tests__/sql2dbml/filenames --postgres --out-file/out-files/schema.dbml +170 -0
  71. package/__tests__/sql2dbml/filenames --postgres stdout/dbml-error.log +0 -0
  72. package/__tests__/sql2dbml/filenames stdout/dbml-error.log +0 -0
  73. package/__tests__/sql2dbml/multiple_schema_mssql/dbml-error.log +0 -0
  74. package/__tests__/sql2dbml/multiple_schema_mssql/out-files/multiple_schema.out.dbml +58 -0
  75. package/__tests__/sql2dbml/multiple_schema_mysql/dbml-error.log +0 -0
  76. package/__tests__/sql2dbml/multiple_schema_mysql/out-files/multiple_schema.out.dbml +136 -0
  77. package/__tests__/sql2dbml/multiple_schema_pg/dbml-error.log +0 -0
  78. package/__tests__/sql2dbml/multiple_schema_pg/out-files/multiple_schema.out.dbml +101 -0
  79. package/__tests__/sql2dbml/syntax-error/dbml-error.log +36 -0
  80. package/__tests__/sql2dbml/syntax-error-duplicate-endpoints --mssql/dbml-error.log +36 -0
  81. package/__tests__/sql2dbml/syntax-error-duplicate-endpoints --mssql/stdout.txt +1 -1
  82. package/__tests__/sql2dbml/syntax-error-duplicate-endpoints --mysql/dbml-error.log +36 -0
  83. package/__tests__/sql2dbml/syntax-error-duplicate-endpoints --mysql/stdout.txt +1 -1
  84. package/lib/index.js +32 -93
  85. package/package.json +6 -6
  86. package/src/NodeProjectLayout.ts +1 -9
  87. package/src/cli/import.ts +5 -4
  88. package/src/cli/utils.ts +3 -4
  89. package/__tests__/dbml2sql/multifile --postgres stdout/in-files/main.dbml +0 -2
  90. package/__tests__/dbml2sql/multifile --postgres stdout/in-files/sub/orders.dbml +0 -6
  91. package/__tests__/dbml2sql/multifile --postgres stdout/in-files/types.dbml +0 -4
  92. package/__tests__/dbml2sql/multifile --postgres stdout/options.json +0 -6
  93. package/__tests__/dbml2sql/multifile --postgres stdout/stdout.txt +0 -12
  94. package/__tests__/windows/multifile-backslash/in-files/main.dbml +0 -2
  95. package/__tests__/windows/multifile-backslash/in-files/sub/orders.dbml +0 -6
  96. package/__tests__/windows/multifile-backslash/in-files/types.dbml +0 -4
  97. package/__tests__/windows/multifile-backslash/options.json +0 -6
  98. package/__tests__/windows/multifile-backslash/stdout.txt +0 -12
  99. package/__tests__/windows/multifile-relative/in-files/main.dbml +0 -2
  100. package/__tests__/windows/multifile-relative/in-files/sub/orders.dbml +0 -6
  101. package/__tests__/windows/multifile-relative/in-files/types.dbml +0 -4
  102. package/__tests__/windows/multifile-relative/options.json +0 -6
  103. package/__tests__/windows/multifile-relative/stdout.txt +0 -12
  104. package/__tests__/windows.test.ts +0 -34
  105. /package/__tests__/dbml2sql/{multifile --postgres stdout → filename --mysql --out-file}/dbml-error.log +0 -0
  106. /package/__tests__/{windows/multifile-relative → dbml2sql/filename --mysql stdout}/dbml-error.log +0 -0
  107. /package/{dbml-error.log → __tests__/dbml2sql/filename --oracle --out-file/dbml-error.log} +0 -0
@@ -0,0 +1,99 @@
1
+ 2026-06-15T10:58:17.719Z
2
+ ConnectionError: Failed to connect to localhost:1433 - Could not connect (sequence)
3
+ at /Users/xuantho573/projects/holistics/dbml/node_modules/mssql/lib/tedious/connection-pool.js:85:17
4
+ at Connection.onConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:849:9)
5
+ at Object.onceWrapper (node:events:633:26)
6
+ at Connection.emit (node:events:518:28)
7
+ at Connection.emit (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:970:18)
8
+ at Connection.socketError (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:1351:12)
9
+ at /Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:1144:14
10
+ at process.processTicksAndRejections (node:internal/process/task_queues:85:11)
11
+
12
+ 2026-06-15T10:59:20.290Z
13
+ ConnectionError: Failed to connect to localhost:1433 - Could not connect (sequence)
14
+ at /Users/xuantho573/projects/holistics/dbml/node_modules/mssql/lib/tedious/connection-pool.js:85:17
15
+ at Connection.onConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:849:9)
16
+ at Object.onceWrapper (node:events:633:26)
17
+ at Connection.emit (node:events:518:28)
18
+ at Connection.emit (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:970:18)
19
+ at Connection.socketError (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:1351:12)
20
+ at /Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:1144:14
21
+ at process.processTicksAndRejections (node:internal/process/task_queues:85:11)
22
+
23
+ 2026-07-22T11:04:07.232Z
24
+ ConnectionError: Failed to connect to localhost:1433 - Could not connect (sequence)
25
+ at /Users/xuantho573/projects/holistics/dbml/node_modules/mssql/lib/tedious/connection-pool.js:85:17
26
+ at Connection.onConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:849:9)
27
+ at Object.onceWrapper (node:events:633:26)
28
+ at Connection.emit (node:events:518:28)
29
+ at Connection.emit (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:970:18)
30
+ at Connection.socketError (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:1351:12)
31
+ at /Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:1144:14
32
+ at process.processTicksAndRejections (node:internal/process/task_queues:85:11)
33
+
34
+ 2026-07-22T11:07:40.073Z
35
+ ConnectionError: Failed to connect to localhost:1433 - Could not connect (sequence)
36
+ at /Users/xuantho573/projects/holistics/dbml/node_modules/mssql/lib/tedious/connection-pool.js:85:17
37
+ at Connection.onConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:849:9)
38
+ at Object.onceWrapper (node:events:633:26)
39
+ at Connection.emit (node:events:518:28)
40
+ at Connection.emit (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:970:18)
41
+ at Connection.socketError (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:1351:12)
42
+ at /Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:1144:14
43
+ at process.processTicksAndRejections (node:internal/process/task_queues:85:11)
44
+
45
+ 2026-07-22T11:10:22.078Z
46
+ ConnectionError: Failed to connect to localhost:1433 - Could not connect (sequence)
47
+ at /Users/xuantho573/projects/holistics/dbml/node_modules/mssql/lib/tedious/connection-pool.js:85:17
48
+ at Connection.onConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:849:9)
49
+ at Object.onceWrapper (node:events:633:26)
50
+ at Connection.emit (node:events:518:28)
51
+ at Connection.emit (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:970:18)
52
+ at Connection.socketError (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:1351:12)
53
+ at /Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:1144:14
54
+ at process.processTicksAndRejections (node:internal/process/task_queues:85:11)
55
+
56
+ 2026-10-19T04:22:26.231Z
57
+ ConnectionError: Failed to connect to localhost:1433 - Could not connect (sequence)
58
+ at /Users/xuantho573/projects/holistics/dbml/node_modules/mssql/lib/tedious/connection-pool.js:85:17
59
+ at Connection.onConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:849:9)
60
+ at Object.onceWrapper (node:events:633:26)
61
+ at Connection.emit (node:events:518:28)
62
+ at Connection.emit (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:970:18)
63
+ at Connection.socketError (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:1351:12)
64
+ at /Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:1144:14
65
+ at process.processTicksAndRejections (node:internal/process/task_queues:85:11)
66
+
67
+ 2026-10-19T04:25:35.396Z
68
+ ConnectionError: Failed to connect to localhost:1433 - Could not connect (sequence)
69
+ at /Users/xuantho573/projects/holistics/dbml/node_modules/mssql/lib/tedious/connection-pool.js:85:17
70
+ at Connection.onConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:849:9)
71
+ at Object.onceWrapper (node:events:633:26)
72
+ at Connection.emit (node:events:518:28)
73
+ at Connection.emit (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:970:18)
74
+ at Connection.socketError (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:1351:12)
75
+ at /Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:1144:14
76
+ at process.processTicksAndRejections (node:internal/process/task_queues:85:11)
77
+
78
+ 2026-10-19T08:38:07.192Z
79
+ ConnectionError: Failed to connect to localhost:1433 - Could not connect (sequence)
80
+ at /Users/xuantho573/projects/holistics/dbml/node_modules/mssql/lib/tedious/connection-pool.js:85:17
81
+ at Connection.onConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:849:9)
82
+ at Object.onceWrapper (node:events:633:26)
83
+ at Connection.emit (node:events:518:28)
84
+ at Connection.emit (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:970:18)
85
+ at Connection.socketError (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:1351:12)
86
+ at /Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:1144:14
87
+ at process.processTicksAndRejections (node:internal/process/task_queues:85:11)
88
+
89
+ 2026-10-20T03:59:44.997Z
90
+ ConnectionError: Failed to connect to localhost:1433 - Could not connect (sequence)
91
+ at /Users/xuantho573/projects/holistics/dbml/node_modules/mssql/lib/tedious/connection-pool.js:85:17
92
+ at Connection.onConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:849:9)
93
+ at Object.onceWrapper (node:events:633:26)
94
+ at Connection.emit (node:events:518:28)
95
+ at Connection.emit (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:970:18)
96
+ at Connection.socketError (/Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:1351:12)
97
+ at /Users/xuantho573/projects/holistics/dbml/node_modules/tedious/lib/connection.js:1144:14
98
+ at process.processTicksAndRejections (node:internal/process/task_queues:85:11)
99
+
@@ -0,0 +1,27 @@
1
+ 2026-06-15T10:58:18.311Z
2
+ Error
3
+
4
+ 2026-06-15T10:59:20.864Z
5
+ Error
6
+
7
+ 2026-07-22T11:04:07.822Z
8
+ Error
9
+
10
+ 2026-07-22T11:07:40.659Z
11
+ Error
12
+
13
+ 2026-07-22T11:10:22.788Z
14
+ Error
15
+
16
+ 2026-10-19T04:22:26.814Z
17
+ Error
18
+
19
+ 2026-10-19T04:25:35.977Z
20
+ Error
21
+
22
+ 2026-10-19T08:38:07.778Z
23
+ Error
24
+
25
+ 2026-10-20T03:59:45.648Z
26
+ Error
27
+
@@ -0,0 +1,112 @@
1
+ 2026-06-15T10:58:18.914Z
2
+ Error: NJS-503: connection to host 127.0.0.1 port 1521 could not be established. (CONNECTION_ID=DlHNZjs0j9hr4QduH37Bpg==)
3
+ connect ECONNREFUSED 127.0.0.1:1521
4
+ at Object.throwErr (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/errors.js:776:10)
5
+ at NTTCP.ntConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/ntTcp.js:206:16)
6
+ at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
7
+ at async NTTCP.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/ntTcp.js:222:7)
8
+ at async NetworkSession.transportConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:182:5)
9
+ at async NetworkSession.connect2 (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:222:7)
10
+ at async NetworkSession.connect1 (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:336:23)
11
+ at async NetworkSession.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:623:5)
12
+ at async ThinConnectionImpl.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/connection.js:859:5)
13
+ at async getConnection (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/oracledb.js:791:3)
14
+
15
+ 2026-06-15T10:59:21.446Z
16
+ Error: NJS-503: connection to host 127.0.0.1 port 1521 could not be established. (CONNECTION_ID=RZQfvyaVfMHa1/THRFEYQA==)
17
+ connect ECONNREFUSED 127.0.0.1:1521
18
+ at Object.throwErr (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/errors.js:776:10)
19
+ at NTTCP.ntConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/ntTcp.js:206:16)
20
+ at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
21
+ at async NTTCP.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/ntTcp.js:222:7)
22
+ at async NetworkSession.transportConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:182:5)
23
+ at async NetworkSession.connect2 (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:222:7)
24
+ at async NetworkSession.connect1 (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:336:23)
25
+ at async NetworkSession.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:623:5)
26
+ at async ThinConnectionImpl.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/connection.js:859:5)
27
+ at async getConnection (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/oracledb.js:791:3)
28
+
29
+ 2026-07-22T11:04:08.431Z
30
+ Error: NJS-503: connection to host 127.0.0.1 port 1521 could not be established. (CONNECTION_ID=cmEBFGaRME/RH8QTuJSpBQ==)
31
+ connect ECONNREFUSED 127.0.0.1:1521
32
+ at Object.throwErr (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/errors.js:776:10)
33
+ at NTTCP.ntConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/ntTcp.js:206:16)
34
+ at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
35
+ at async NTTCP.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/ntTcp.js:222:7)
36
+ at async NetworkSession.transportConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:182:5)
37
+ at async NetworkSession.connect2 (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:222:7)
38
+ at async NetworkSession.connect1 (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:336:23)
39
+ at async NetworkSession.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:623:5)
40
+ at async ThinConnectionImpl.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/connection.js:859:5)
41
+ at async getConnection (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/oracledb.js:791:3)
42
+
43
+ 2026-07-22T11:07:41.312Z
44
+ Error: NJS-503: connection to host 127.0.0.1 port 1521 could not be established. (CONNECTION_ID=3X9TTiy8G+8YSC3mc2XtlQ==)
45
+ connect ECONNREFUSED 127.0.0.1:1521
46
+ at Object.throwErr (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/errors.js:776:10)
47
+ at NTTCP.ntConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/ntTcp.js:206:16)
48
+ at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
49
+ at async NTTCP.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/ntTcp.js:222:7)
50
+ at async NetworkSession.transportConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:182:5)
51
+ at async NetworkSession.connect2 (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:222:7)
52
+ at async NetworkSession.connect1 (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:336:23)
53
+ at async NetworkSession.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:623:5)
54
+ at async ThinConnectionImpl.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/connection.js:859:5)
55
+ at async getConnection (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/oracledb.js:791:3)
56
+
57
+ 2026-07-22T11:10:23.463Z
58
+ Error: NJS-503: connection to host 127.0.0.1 port 1521 could not be established. (CONNECTION_ID=2OEhfGV+Y2Fz+zCpyOyEKg==)
59
+ connect ECONNREFUSED 127.0.0.1:1521
60
+ at Object.throwErr (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/errors.js:776:10)
61
+ at NTTCP.ntConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/ntTcp.js:206:16)
62
+ at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
63
+ at async NTTCP.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/ntTcp.js:222:7)
64
+ at async NetworkSession.transportConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:182:5)
65
+ at async NetworkSession.connect2 (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:222:7)
66
+ at async NetworkSession.connect1 (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:336:23)
67
+ at async NetworkSession.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:623:5)
68
+ at async ThinConnectionImpl.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/connection.js:859:5)
69
+ at async getConnection (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/oracledb.js:791:3)
70
+
71
+ 2026-10-19T04:22:27.431Z
72
+ Error: NJS-503: connection to host ::1 port 1521 could not be established. (CONNECTION_ID=cpApL75gmF7UuqDr+ju/MQ==)
73
+ connect ECONNREFUSED ::1:1521
74
+ at Object.throwErr (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/errors.js:776:10)
75
+ at NTTCP.ntConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/ntTcp.js:206:16)
76
+ at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
77
+ at async NTTCP.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/ntTcp.js:222:7)
78
+ at async NetworkSession.transportConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:182:5)
79
+ at async NetworkSession.connect2 (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:222:7)
80
+ at async NetworkSession.connect1 (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:336:23)
81
+ at async NetworkSession.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:623:5)
82
+ at async ThinConnectionImpl.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/connection.js:859:5)
83
+ at async getConnection (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/oracledb.js:791:3)
84
+
85
+ 2026-10-19T08:38:08.376Z
86
+ Error: NJS-503: connection to host ::1 port 1521 could not be established. (CONNECTION_ID=EW5syJ8RAaK6IywNgitLwg==)
87
+ connect ECONNREFUSED ::1:1521
88
+ at Object.throwErr (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/errors.js:776:10)
89
+ at NTTCP.ntConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/ntTcp.js:206:16)
90
+ at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
91
+ at async NTTCP.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/ntTcp.js:222:7)
92
+ at async NetworkSession.transportConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:182:5)
93
+ at async NetworkSession.connect2 (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:222:7)
94
+ at async NetworkSession.connect1 (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:336:23)
95
+ at async NetworkSession.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:623:5)
96
+ at async ThinConnectionImpl.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/connection.js:859:5)
97
+ at async getConnection (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/oracledb.js:791:3)
98
+
99
+ 2026-10-20T03:59:46.339Z
100
+ Error: NJS-503: connection to host ::1 port 1521 could not be established. (CONNECTION_ID=yUzioKroKb4gPHLVp1AJqA==)
101
+ connect ECONNREFUSED ::1:1521
102
+ at Object.throwErr (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/errors.js:776:10)
103
+ at NTTCP.ntConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/ntTcp.js:206:16)
104
+ at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
105
+ at async NTTCP.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/ntTcp.js:222:7)
106
+ at async NetworkSession.transportConnect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:182:5)
107
+ at async NetworkSession.connect2 (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:222:7)
108
+ at async NetworkSession.connect1 (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:336:23)
109
+ at async NetworkSession.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/sqlnet/networkSession.js:623:5)
110
+ at async ThinConnectionImpl.connect (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/thin/connection.js:859:5)
111
+ at async getConnection (/Users/xuantho573/projects/holistics/dbml/node_modules/oracledb/lib/oracledb.js:791:3)
112
+
@@ -0,0 +1,56 @@
1
+ 2026-06-15T10:58:19.526Z
2
+ Error: PostgreSQL connection error: error: password authentication failed for user "dbml"
3
+ at vi (/Users/xuantho573/projects/holistics/dbml/packages/dbml-connector/dist/index.js:3484:2977)
4
+ at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
5
+ at async Di (/Users/xuantho573/projects/holistics/dbml/packages/dbml-connector/dist/index.js:3701:279)
6
+ at async connectionHandler (/Users/xuantho573/projects/holistics/dbml/packages/dbml-cli/lib/index.js:1152:22)
7
+
8
+ 2026-06-15T10:59:22.031Z
9
+ Error: PostgreSQL connection error: error: password authentication failed for user "dbml"
10
+ at vi (/Users/xuantho573/projects/holistics/dbml/packages/dbml-connector/dist/index.js:3484:2977)
11
+ at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
12
+ at async Di (/Users/xuantho573/projects/holistics/dbml/packages/dbml-connector/dist/index.js:3701:279)
13
+ at async connectionHandler (/Users/xuantho573/projects/holistics/dbml/packages/dbml-cli/lib/index.js:1152:22)
14
+
15
+ 2026-07-22T11:04:09.033Z
16
+ Error: PostgreSQL connection error: error: password authentication failed for user "dbml"
17
+ at ni (/Users/xuantho573/projects/holistics/dbml/packages/dbml-connector/dist/index.js:3484:2977)
18
+ at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
19
+ at async di (/Users/xuantho573/projects/holistics/dbml/packages/dbml-connector/dist/index.js:3701:279)
20
+ at async connectionHandler (/Users/xuantho573/projects/holistics/dbml/packages/dbml-cli/lib/index.js:2630:22)
21
+
22
+ 2026-07-22T11:07:41.954Z
23
+ Error: PostgreSQL connection error: error: password authentication failed for user "dbml"
24
+ at ni (/Users/xuantho573/projects/holistics/dbml/packages/dbml-connector/dist/index.js:3484:2977)
25
+ at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
26
+ at async di (/Users/xuantho573/projects/holistics/dbml/packages/dbml-connector/dist/index.js:3701:279)
27
+ at async connectionHandler (/Users/xuantho573/projects/holistics/dbml/packages/dbml-cli/lib/index.js:2630:22)
28
+
29
+ 2026-07-22T11:10:24.077Z
30
+ Error: PostgreSQL connection error: error: password authentication failed for user "dbml"
31
+ at ni (/Users/xuantho573/projects/holistics/dbml/packages/dbml-connector/dist/index.js:3484:2977)
32
+ at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
33
+ at async di (/Users/xuantho573/projects/holistics/dbml/packages/dbml-connector/dist/index.js:3701:279)
34
+ at async connectionHandler (/Users/xuantho573/projects/holistics/dbml/packages/dbml-cli/lib/index.js:2630:22)
35
+
36
+ 2026-10-19T04:22:28.110Z
37
+ Error: PostgreSQL connection error: error: password authentication failed for user "dbml"
38
+ at ni (/Users/xuantho573/projects/holistics/dbml/packages/dbml-connector/dist/index.js:3484:2977)
39
+ at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
40
+ at async di (/Users/xuantho573/projects/holistics/dbml/packages/dbml-connector/dist/index.js:3701:279)
41
+ at async connectionHandler (/Users/xuantho573/projects/holistics/dbml/packages/dbml-cli/lib/index.js:2631:22)
42
+
43
+ 2026-10-19T08:38:09.036Z
44
+ Error: PostgreSQL connection error: error: password authentication failed for user "dbml"
45
+ at ni (/Users/xuantho573/projects/holistics/dbml/packages/dbml-connector/dist/index.js:3484:2977)
46
+ at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
47
+ at async di (/Users/xuantho573/projects/holistics/dbml/packages/dbml-connector/dist/index.js:3701:279)
48
+ at async connectionHandler (/Users/xuantho573/projects/holistics/dbml/packages/dbml-cli/lib/index.js:2631:22)
49
+
50
+ 2026-10-20T03:59:47.062Z
51
+ Error: PostgreSQL connection error: error: password authentication failed for user "dbml"
52
+ at ni (/Users/xuantho573/projects/holistics/dbml/packages/dbml-connector/dist/index.js:3484:2977)
53
+ at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
54
+ at async di (/Users/xuantho573/projects/holistics/dbml/packages/dbml-connector/dist/index.js:3701:279)
55
+ at async connectionHandler (/Users/xuantho573/projects/holistics/dbml/packages/dbml-cli/lib/index.js:2631:22)
56
+
@@ -0,0 +1,65 @@
1
+ -- SQL dump generated using DBML (dbml.dbdiagram.io)
2
+ -- Database: MySQL
3
+ -- Generated at: 2026-10-20T03:58:42.798Z
4
+
5
+ CREATE TABLE `orders` (
6
+ `id` int PRIMARY KEY AUTO_INCREMENT,
7
+ `user_id` int UNIQUE NOT NULL,
8
+ `status` ENUM ('created', 'running', 'done', 'failure'),
9
+ `created_at` varchar(255)
10
+ );
11
+
12
+ CREATE TABLE `order_items` (
13
+ `order_id` int,
14
+ `product_id` int,
15
+ `quantity` int DEFAULT 1
16
+ );
17
+
18
+ CREATE TABLE `products` (
19
+ `id` int PRIMARY KEY,
20
+ `name` varchar(255),
21
+ `merchant_id` int NOT NULL,
22
+ `price` int,
23
+ `status` ENUM ('Out of Stock', 'In Stock'),
24
+ `created_at` datetime DEFAULT (now())
25
+ );
26
+
27
+ CREATE TABLE `users` (
28
+ `id` int PRIMARY KEY,
29
+ `full_name` varchar(255),
30
+ `email` varchar(255) UNIQUE,
31
+ `gender` varchar(255),
32
+ `date_of_birth` varchar(255),
33
+ `created_at` varchar(255),
34
+ `country_code` int
35
+ );
36
+
37
+ CREATE TABLE `merchants` (
38
+ `id` int PRIMARY KEY,
39
+ `merchant_name` varchar(255),
40
+ `country_code` int,
41
+ `created_at` varchar(255),
42
+ `admin_id` int
43
+ );
44
+
45
+ CREATE TABLE `countries` (
46
+ `code` int PRIMARY KEY,
47
+ `name` varchar(255),
48
+ `continent_name` varchar(255)
49
+ );
50
+
51
+ CREATE INDEX `product_status` ON `products` (`merchant_id`, `status`);
52
+
53
+ CREATE UNIQUE INDEX `products_index_1` ON `products` (`id`) USING HASH;
54
+
55
+ ALTER TABLE `order_items` ADD FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`);
56
+
57
+ ALTER TABLE `order_items` ADD FOREIGN KEY (`product_id`) REFERENCES `products` (`id`);
58
+
59
+ ALTER TABLE `users` ADD FOREIGN KEY (`country_code`) REFERENCES `countries` (`code`);
60
+
61
+ ALTER TABLE `merchants` ADD FOREIGN KEY (`country_code`) REFERENCES `countries` (`code`);
62
+
63
+ ALTER TABLE `products` ADD FOREIGN KEY (`merchant_id`) REFERENCES `merchants` (`id`);
64
+
65
+ ALTER TABLE `merchants` ADD FOREIGN KEY (`admin_id`) REFERENCES `users` (`id`);
@@ -0,0 +1,61 @@
1
+ -- SQL dump generated using DBML (dbml.dbdiagram.io)
2
+ -- Database: Oracle
3
+ -- Generated at: 2026-10-20T03:58:52.786Z
4
+
5
+ CREATE TABLE "orders" (
6
+ "id" int GENERATED AS IDENTITY PRIMARY KEY,
7
+ "user_id" int UNIQUE NOT NULL,
8
+ "status" nvarchar2(255) CHECK ("status" IN ('created', 'running', 'done', 'failure'))
9
+ );
10
+
11
+ CREATE TABLE "order_items" (
12
+ "order_id" int,
13
+ "product_id" int,
14
+ "quantity" int DEFAULT 1
15
+ );
16
+
17
+ CREATE TABLE "products" (
18
+ "id" int PRIMARY KEY,
19
+ "name" nvarchar2(255),
20
+ "merchant_id" int NOT NULL,
21
+ "price" int,
22
+ "status" nvarchar2(255) CHECK ("status" IN ('Out of Stock', 'In Stock')),
23
+ "created_at" timestamp DEFAULT current_timestamp
24
+ );
25
+
26
+ CREATE TABLE "users" (
27
+ "id" int PRIMARY KEY,
28
+ "full_name" nvarchar2(255),
29
+ "email" nvarchar2(255) UNIQUE,
30
+ "gender" nvarchar2(255),
31
+ "date_of_birth" date,
32
+ "created_at" timestamp,
33
+ "country_code" int
34
+ );
35
+
36
+ CREATE TABLE "merchants" (
37
+ "id" int PRIMARY KEY,
38
+ "merchant_name" nvarchar2(255),
39
+ "country_code" int,
40
+ "created_at" timestamp,
41
+ "admin_id" int
42
+ );
43
+
44
+ CREATE TABLE "countries" (
45
+ "code" int PRIMARY KEY,
46
+ "name" nvarchar2(255)
47
+ );
48
+
49
+ CREATE INDEX "product_status" ON "products" ("merchant_id", "status");
50
+
51
+ ALTER TABLE "order_items" ADD FOREIGN KEY ("order_id") REFERENCES "orders" ("id") DEFERRABLE INITIALLY IMMEDIATE;
52
+
53
+ ALTER TABLE "order_items" ADD FOREIGN KEY ("product_id") REFERENCES "products" ("id") DEFERRABLE INITIALLY IMMEDIATE;
54
+
55
+ ALTER TABLE "users" ADD FOREIGN KEY ("country_code") REFERENCES "countries" ("code") DEFERRABLE INITIALLY IMMEDIATE;
56
+
57
+ ALTER TABLE "merchants" ADD FOREIGN KEY ("country_code") REFERENCES "countries" ("code") DEFERRABLE INITIALLY IMMEDIATE;
58
+
59
+ ALTER TABLE "products" ADD FOREIGN KEY ("merchant_id") REFERENCES "merchants" ("id") DEFERRABLE INITIALLY IMMEDIATE;
60
+
61
+ ALTER TABLE "merchants" ADD FOREIGN KEY ("admin_id") REFERENCES "users" ("id") DEFERRABLE INITIALLY IMMEDIATE;
@@ -0,0 +1,77 @@
1
+ -- SQL dump generated using DBML (dbml.dbdiagram.io)
2
+ -- Database: PostgreSQL
3
+ -- Generated at: 2026-10-20T03:58:54.148Z
4
+
5
+ CREATE TYPE "orders_status" AS ENUM (
6
+ 'created',
7
+ 'running',
8
+ 'done',
9
+ 'failure'
10
+ );
11
+
12
+ CREATE TYPE "product status" AS ENUM (
13
+ 'Out of Stock',
14
+ 'In Stock'
15
+ );
16
+
17
+ CREATE TABLE "orders" (
18
+ "id" INT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
19
+ "user_id" int UNIQUE NOT NULL,
20
+ "status" orders_status,
21
+ "created_at" varchar
22
+ );
23
+
24
+ CREATE TABLE "order_items" (
25
+ "order_id" int,
26
+ "product_id" int,
27
+ "quantity" int DEFAULT 1
28
+ );
29
+
30
+ CREATE TABLE "products" (
31
+ "id" int PRIMARY KEY,
32
+ "name" varchar,
33
+ "merchant_id" int NOT NULL,
34
+ "price" int,
35
+ "status" "product status",
36
+ "created_at" datetime DEFAULT (now())
37
+ );
38
+
39
+ CREATE TABLE "users" (
40
+ "id" int PRIMARY KEY,
41
+ "full_name" varchar,
42
+ "email" varchar UNIQUE,
43
+ "gender" varchar,
44
+ "date_of_birth" varchar,
45
+ "created_at" varchar,
46
+ "country_code" int
47
+ );
48
+
49
+ CREATE TABLE "merchants" (
50
+ "id" int PRIMARY KEY,
51
+ "merchant_name" varchar,
52
+ "country_code" int,
53
+ "created_at" varchar,
54
+ "admin_id" int
55
+ );
56
+
57
+ CREATE TABLE "countries" (
58
+ "code" int PRIMARY KEY,
59
+ "name" varchar,
60
+ "continent_name" varchar
61
+ );
62
+
63
+ CREATE INDEX "product_status" ON "products" ("merchant_id", "status");
64
+
65
+ CREATE UNIQUE INDEX ON "products" USING HASH ("id");
66
+
67
+ ALTER TABLE "order_items" ADD FOREIGN KEY ("order_id") REFERENCES "orders" ("id") DEFERRABLE INITIALLY IMMEDIATE;
68
+
69
+ ALTER TABLE "order_items" ADD FOREIGN KEY ("product_id") REFERENCES "products" ("id") DEFERRABLE INITIALLY IMMEDIATE;
70
+
71
+ ALTER TABLE "users" ADD FOREIGN KEY ("country_code") REFERENCES "countries" ("code") DEFERRABLE INITIALLY IMMEDIATE;
72
+
73
+ ALTER TABLE "merchants" ADD FOREIGN KEY ("country_code") REFERENCES "countries" ("code") DEFERRABLE INITIALLY IMMEDIATE;
74
+
75
+ ALTER TABLE "products" ADD FOREIGN KEY ("merchant_id") REFERENCES "merchants" ("id") DEFERRABLE INITIALLY IMMEDIATE;
76
+
77
+ ALTER TABLE "merchants" ADD FOREIGN KEY ("admin_id") REFERENCES "users" ("id") DEFERRABLE INITIALLY IMMEDIATE;
@@ -0,0 +1,77 @@
1
+ -- SQL dump generated using DBML (dbml.dbdiagram.io)
2
+ -- Database: PostgreSQL
3
+ -- Generated at: 2026-10-20T03:58:54.806Z
4
+
5
+ CREATE TYPE "orders_status" AS ENUM (
6
+ 'created',
7
+ 'running',
8
+ 'done',
9
+ 'failure'
10
+ );
11
+
12
+ CREATE TYPE "product status" AS ENUM (
13
+ 'Out of Stock',
14
+ 'In Stock'
15
+ );
16
+
17
+ CREATE TABLE "orders" (
18
+ "id" INT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
19
+ "user_id" int UNIQUE NOT NULL,
20
+ "status" orders_status,
21
+ "created_at" varchar
22
+ );
23
+
24
+ CREATE TABLE "order_items" (
25
+ "order_id" int,
26
+ "product_id" int,
27
+ "quantity" int DEFAULT 1
28
+ );
29
+
30
+ CREATE TABLE "products" (
31
+ "id" int PRIMARY KEY,
32
+ "name" varchar,
33
+ "merchant_id" int NOT NULL,
34
+ "price" int,
35
+ "status" "product status",
36
+ "created_at" datetime DEFAULT (now())
37
+ );
38
+
39
+ CREATE TABLE "users" (
40
+ "id" int PRIMARY KEY,
41
+ "full_name" varchar,
42
+ "email" varchar UNIQUE,
43
+ "gender" varchar,
44
+ "date_of_birth" varchar,
45
+ "created_at" varchar,
46
+ "country_code" int
47
+ );
48
+
49
+ CREATE TABLE "merchants" (
50
+ "id" int PRIMARY KEY,
51
+ "merchant_name" varchar,
52
+ "country_code" int,
53
+ "created_at" varchar,
54
+ "admin_id" int
55
+ );
56
+
57
+ CREATE TABLE "countries" (
58
+ "code" int PRIMARY KEY,
59
+ "name" varchar,
60
+ "continent_name" varchar
61
+ );
62
+
63
+ CREATE INDEX "product_status" ON "products" ("merchant_id", "status");
64
+
65
+ CREATE UNIQUE INDEX ON "products" USING HASH ("id");
66
+
67
+ ALTER TABLE "order_items" ADD FOREIGN KEY ("order_id") REFERENCES "orders" ("id") DEFERRABLE INITIALLY IMMEDIATE;
68
+
69
+ ALTER TABLE "order_items" ADD FOREIGN KEY ("product_id") REFERENCES "products" ("id") DEFERRABLE INITIALLY IMMEDIATE;
70
+
71
+ ALTER TABLE "users" ADD FOREIGN KEY ("country_code") REFERENCES "countries" ("code") DEFERRABLE INITIALLY IMMEDIATE;
72
+
73
+ ALTER TABLE "merchants" ADD FOREIGN KEY ("country_code") REFERENCES "countries" ("code") DEFERRABLE INITIALLY IMMEDIATE;
74
+
75
+ ALTER TABLE "products" ADD FOREIGN KEY ("merchant_id") REFERENCES "merchants" ("id") DEFERRABLE INITIALLY IMMEDIATE;
76
+
77
+ ALTER TABLE "merchants" ADD FOREIGN KEY ("admin_id") REFERENCES "users" ("id") DEFERRABLE INITIALLY IMMEDIATE;