@dbml/cli 4.0.0 → 5.0.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 (72) hide show
  1. package/__test__/db2dbml/mssql/dbml-error.log +337 -0
  2. package/__test__/db2dbml/mssql/out-files/schema.dbml +219 -0
  3. package/__test__/db2dbml/mysql/dbml-error.log +230 -0
  4. package/__test__/db2dbml/mysql/out-files/schema.dbml +188 -0
  5. package/__test__/db2dbml/postgres/dbml-error.log +63 -0
  6. package/__test__/db2dbml/postgres/out-files/schema.dbml +184 -0
  7. package/__test__/dbml2sql/filename --mysql --out-file/dbml-error.log +0 -0
  8. package/__test__/dbml2sql/filename --mysql --out-file/out-files/schema.sql +65 -0
  9. package/__test__/dbml2sql/filename --mysql stdout/dbml-error.log +0 -0
  10. package/__test__/dbml2sql/filename --oracle --out-file/dbml-error.log +0 -0
  11. package/__test__/dbml2sql/filename --oracle --out-file/out-files/schema.sql +61 -0
  12. package/__test__/dbml2sql/filename --oracle stdout/dbml-error.log +0 -0
  13. package/__test__/dbml2sql/filename --out-file/dbml-error.log +0 -0
  14. package/__test__/dbml2sql/filename --out-file/out-files/schema.sql +77 -0
  15. package/__test__/dbml2sql/filename --postgres --out-file/dbml-error.log +0 -0
  16. package/__test__/dbml2sql/filename --postgres --out-file/out-files/schema.sql +77 -0
  17. package/__test__/dbml2sql/filename --postgres stdout/dbml-error.log +0 -0
  18. package/__test__/dbml2sql/filename stdout/dbml-error.log +0 -0
  19. package/__test__/dbml2sql/filenames --mysql --out-file/dbml-error.log +0 -0
  20. package/__test__/dbml2sql/filenames --mysql --out-file/out-files/schema.sql +172 -0
  21. package/__test__/dbml2sql/filenames --mysql stdout/dbml-error.log +0 -0
  22. package/__test__/dbml2sql/filenames --oracle --out-file/dbml-error.log +0 -0
  23. package/__test__/dbml2sql/filenames --oracle --out-file/out-files/schema.sql +172 -0
  24. package/__test__/dbml2sql/filenames --oracle stdout/dbml-error.log +0 -0
  25. package/__test__/dbml2sql/filenames --out-file/dbml-error.log +0 -0
  26. package/__test__/dbml2sql/filenames --out-file/out-files/schema.sql +172 -0
  27. package/__test__/dbml2sql/filenames --postgres --out-file/dbml-error.log +0 -0
  28. package/__test__/dbml2sql/filenames --postgres --out-file/out-files/schema.sql +172 -0
  29. package/__test__/dbml2sql/filenames --postgres stdout/dbml-error.log +0 -0
  30. package/__test__/dbml2sql/filenames stdout/dbml-error.log +0 -0
  31. package/__test__/dbml2sql/multiple_schema_mssql/dbml-error.log +0 -0
  32. package/__test__/dbml2sql/multiple_schema_mssql/out-files/multiple_schema.out.sql +62 -0
  33. package/__test__/dbml2sql/multiple_schema_mysql/dbml-error.log +0 -0
  34. package/__test__/dbml2sql/multiple_schema_mysql/out-files/multiple_schema.out.sql +50 -0
  35. package/__test__/dbml2sql/multiple_schema_oracle/dbml-error.log +0 -0
  36. package/__test__/dbml2sql/multiple_schema_oracle/out-files/multiple_schema.out.sql +88 -0
  37. package/__test__/dbml2sql/multiple_schema_pg/dbml-error.log +0 -0
  38. package/__test__/dbml2sql/multiple_schema_pg/out-files/multiple_schema.out.sql +67 -0
  39. package/__test__/dbml2sql/syntax-error/dbml-error.log +345 -0
  40. package/__test__/sql2dbml/filename --mssql --out-file/dbml-error.log +0 -0
  41. package/__test__/sql2dbml/filename --mssql --out-file/out-files/schema.dbml +25 -0
  42. package/__test__/sql2dbml/filename --mysql --out-file/dbml-error.log +0 -0
  43. package/__test__/sql2dbml/filename --mysql --out-file/out-files/schema.dbml +74 -0
  44. package/__test__/sql2dbml/filename --mysql stdout/dbml-error.log +0 -0
  45. package/__test__/sql2dbml/filename --out-file/dbml-error.log +0 -0
  46. package/__test__/sql2dbml/filename --out-file/out-files/schema.dbml +74 -0
  47. package/__test__/sql2dbml/filename --postgres --out-file/dbml-error.log +0 -0
  48. package/__test__/sql2dbml/filename --postgres --out-file/out-files/schema.dbml +74 -0
  49. package/__test__/sql2dbml/filename --postgres stdout/dbml-error.log +0 -0
  50. package/__test__/sql2dbml/filename --snowflake stdout/dbml-error.log +0 -0
  51. package/__test__/sql2dbml/filename stdout/dbml-error.log +0 -0
  52. package/__test__/sql2dbml/filenames --mysql --out-file/dbml-error.log +0 -0
  53. package/__test__/sql2dbml/filenames --mysql --out-file/out-files/schema.dbml +170 -0
  54. package/__test__/sql2dbml/filenames --mysql stdout/dbml-error.log +0 -0
  55. package/__test__/sql2dbml/filenames --out-file/dbml-error.log +0 -0
  56. package/__test__/sql2dbml/filenames --out-file/out-files/schema.dbml +170 -0
  57. package/__test__/sql2dbml/filenames --postgres --out-file/dbml-error.log +0 -0
  58. package/__test__/sql2dbml/filenames --postgres --out-file/out-files/schema.dbml +170 -0
  59. package/__test__/sql2dbml/filenames --postgres stdout/dbml-error.log +0 -0
  60. package/__test__/sql2dbml/filenames stdout/dbml-error.log +0 -0
  61. package/__test__/sql2dbml/multiple_schema_mssql/dbml-error.log +0 -0
  62. package/__test__/sql2dbml/multiple_schema_mssql/expect-out-files/multiple_schema.out.dbml +8 -8
  63. package/__test__/sql2dbml/multiple_schema_mssql/out-files/multiple_schema.out.dbml +58 -0
  64. package/__test__/sql2dbml/multiple_schema_mysql/dbml-error.log +0 -0
  65. package/__test__/sql2dbml/multiple_schema_mysql/out-files/multiple_schema.out.dbml +136 -0
  66. package/__test__/sql2dbml/multiple_schema_pg/dbml-error.log +0 -0
  67. package/__test__/sql2dbml/multiple_schema_pg/out-files/multiple_schema.out.dbml +101 -0
  68. package/__test__/sql2dbml/syntax-error/dbml-error.log +342 -0
  69. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mssql/dbml-error.log +342 -0
  70. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mysql/dbml-error.log +339 -0
  71. package/dbml-error.log +0 -0
  72. package/package.json +4 -4
@@ -0,0 +1,88 @@
1
+ -- SQL dump generated using DBML (dbml.dbdiagram.io)
2
+ -- Database: Oracle
3
+ -- Generated at: 2025-10-28T05:18:42.904Z
4
+
5
+ CREATE USER "C##test01"
6
+ NO AUTHENTICATION
7
+ DEFAULT TABLESPACE system
8
+ TEMPORARY TABLESPACE temp
9
+ QUOTA UNLIMITED ON system;
10
+
11
+ CREATE USER "C##test02"
12
+ NO AUTHENTICATION
13
+ DEFAULT TABLESPACE system
14
+ TEMPORARY TABLESPACE temp
15
+ QUOTA UNLIMITED ON system;
16
+
17
+ CREATE TABLE "users" (
18
+ "id" int PRIMARY KEY
19
+ );
20
+
21
+ CREATE TABLE "products" (
22
+ "id" int PRIMARY KEY,
23
+ "user_id" int NOT NULL
24
+ );
25
+
26
+ CREATE TABLE "C##test02"."users_products" (
27
+ "users_id" int,
28
+ "products_id" int,
29
+ PRIMARY KEY ("users_id", "products_id")
30
+ );
31
+
32
+ CREATE TABLE "users_products" (
33
+ "users_id" int,
34
+ "products_id" int,
35
+ PRIMARY KEY ("users_id", "products_id")
36
+ );
37
+
38
+ CREATE TABLE "C##test01"."users_products" (
39
+ "users_id" int,
40
+ "products_id" int,
41
+ PRIMARY KEY ("users_id", "products_id")
42
+ );
43
+
44
+ CREATE TABLE "C##test01"."users" (
45
+ "id" int PRIMARY KEY
46
+ );
47
+
48
+ CREATE TABLE "C##test01"."products" (
49
+ "id" int PRIMARY KEY,
50
+ "user_id" int NOT NULL
51
+ );
52
+
53
+ CREATE TABLE "C##test02"."users" (
54
+ "id" int PRIMARY KEY
55
+ );
56
+
57
+ CREATE TABLE "C##test02"."products" (
58
+ "id" int PRIMARY KEY,
59
+ "user_id" int NOT NULL
60
+ );
61
+
62
+ GRANT REFERENCES ON "C##test01"."users" TO PUBLIC;
63
+
64
+ GRANT REFERENCES ON "users" TO PUBLIC;
65
+
66
+ GRANT REFERENCES ON "C##test02"."users" TO PUBLIC;
67
+
68
+ GRANT REFERENCES ON "products" TO PUBLIC;
69
+
70
+ GRANT REFERENCES ON "C##test02"."products" TO PUBLIC;
71
+
72
+ ALTER TABLE "products" ADD FOREIGN KEY ("user_id") REFERENCES "C##test01"."users" ("id");
73
+
74
+ ALTER TABLE "C##test01"."products" ADD FOREIGN KEY ("user_id") REFERENCES "users" ("id");
75
+
76
+ ALTER TABLE "C##test01"."products" ADD FOREIGN KEY ("user_id") REFERENCES "C##test01"."users" ("id");
77
+
78
+ ALTER TABLE "C##test02"."users_products" ADD FOREIGN KEY ("users_id") REFERENCES "C##test02"."users" ("id");
79
+
80
+ ALTER TABLE "C##test02"."users_products" ADD FOREIGN KEY ("products_id") REFERENCES "products" ("id");
81
+
82
+ ALTER TABLE "users_products" ADD FOREIGN KEY ("users_id") REFERENCES "users" ("id");
83
+
84
+ ALTER TABLE "users_products" ADD FOREIGN KEY ("products_id") REFERENCES "C##test02"."products" ("id");
85
+
86
+ ALTER TABLE "C##test01"."users_products" ADD FOREIGN KEY ("users_id") REFERENCES "C##test01"."users" ("id");
87
+
88
+ ALTER TABLE "C##test01"."users_products" ADD FOREIGN KEY ("products_id") REFERENCES "C##test02"."products" ("id");
@@ -0,0 +1,67 @@
1
+ -- SQL dump generated using DBML (dbml.dbdiagram.io)
2
+ -- Database: PostgreSQL
3
+ -- Generated at: 2025-10-28T05:18:43.626Z
4
+
5
+ CREATE SCHEMA "schemaB";
6
+
7
+ CREATE SCHEMA "ecommerce";
8
+
9
+ CREATE SCHEMA "schemaA";
10
+
11
+ CREATE TYPE "job_status" AS ENUM (
12
+ 'created2',
13
+ 'running2',
14
+ 'done2',
15
+ 'failure2'
16
+ );
17
+
18
+ CREATE TYPE "gender" AS ENUM (
19
+ 'male2',
20
+ 'female2'
21
+ );
22
+
23
+ CREATE TYPE "schemaB"."gender" AS ENUM (
24
+ 'male',
25
+ 'female'
26
+ );
27
+
28
+ CREATE TABLE "users" (
29
+ "id" int PRIMARY KEY,
30
+ "name" varchar,
31
+ "pjs" job_status,
32
+ "pjs2" job_status,
33
+ "pg" "schemaB".gender,
34
+ "pg2" gender
35
+ );
36
+
37
+ CREATE TABLE "products" (
38
+ "id" int PRIMARY KEY,
39
+ "name" varchar
40
+ );
41
+
42
+ CREATE TABLE "ecommerce"."users" (
43
+ "id" int PRIMARY KEY,
44
+ "name" varchar,
45
+ "ejs" job_status,
46
+ "ejs2" job_status,
47
+ "eg" "schemaB".gender,
48
+ "eg2" gender
49
+ );
50
+
51
+ CREATE TABLE "schemaA"."products" (
52
+ "id" int PRIMARY KEY,
53
+ "name" varchar
54
+ );
55
+
56
+ CREATE TABLE "schemaA"."locations" (
57
+ "id" int PRIMARY KEY,
58
+ "name" varchar
59
+ );
60
+
61
+ ALTER TABLE "schemaA"."products" ADD FOREIGN KEY ("name") REFERENCES "ecommerce"."users" ("id");
62
+
63
+ ALTER TABLE "schemaA"."locations" ADD FOREIGN KEY ("name") REFERENCES "users" ("id");
64
+
65
+ ALTER TABLE "ecommerce"."users" ADD FOREIGN KEY ("id") REFERENCES "users" ("id");
66
+
67
+ ALTER TABLE "ecommerce"."users" ADD CONSTRAINT "name_optional" FOREIGN KEY ("id") REFERENCES "users" ("name");
@@ -0,0 +1,345 @@
1
+ 2025-10-21T09:12:24.045Z
2
+ undefined
3
+
4
+ 2025-10-21T09:15:35.559Z
5
+ undefined
6
+
7
+ 2025-10-21T09:17:31.321Z
8
+ undefined
9
+
10
+ 2025-10-21T09:19:53.430Z
11
+ undefined
12
+
13
+ 2025-10-21T09:21:03.871Z
14
+ undefined
15
+
16
+ 2025-10-21T09:22:42.756Z
17
+ undefined
18
+
19
+ 2025-10-21T10:56:40.249Z
20
+ undefined
21
+
22
+ 2025-10-21T10:59:29.447Z
23
+ undefined
24
+
25
+ 2025-10-21T11:01:25.091Z
26
+ undefined
27
+
28
+ 2025-10-21T11:03:14.861Z
29
+ undefined
30
+
31
+ 2025-10-21T11:06:47.661Z
32
+ undefined
33
+
34
+ 2025-10-21T11:09:45.989Z
35
+ undefined
36
+
37
+ 2025-10-21T11:12:25.859Z
38
+ undefined
39
+
40
+ 2025-10-21T12:47:16.704Z
41
+ undefined
42
+
43
+ 2025-10-21T12:48:53.009Z
44
+ undefined
45
+
46
+ 2025-10-21T12:52:10.963Z
47
+ undefined
48
+
49
+ 2025-10-21T12:54:51.707Z
50
+ undefined
51
+
52
+ 2025-10-21T13:05:55.388Z
53
+ undefined
54
+
55
+ 2025-10-21T13:07:33.148Z
56
+ undefined
57
+
58
+ 2025-10-21T13:11:24.074Z
59
+ undefined
60
+
61
+ 2025-10-22T02:42:22.244Z
62
+ undefined
63
+
64
+ 2025-10-22T02:45:45.465Z
65
+ undefined
66
+
67
+ 2025-10-22T02:52:16.962Z
68
+ undefined
69
+
70
+ 2025-10-22T08:39:24.490Z
71
+ undefined
72
+
73
+ 2025-10-22T08:42:32.507Z
74
+ undefined
75
+
76
+ 2025-10-22T09:25:26.341Z
77
+ undefined
78
+
79
+ 2025-10-22T09:32:09.479Z
80
+ undefined
81
+
82
+ 2025-10-22T09:41:45.954Z
83
+ undefined
84
+
85
+ 2025-10-22T09:44:15.269Z
86
+ undefined
87
+
88
+ 2025-10-22T09:50:54.548Z
89
+ undefined
90
+
91
+ 2025-10-22T10:01:07.152Z
92
+ undefined
93
+
94
+ 2025-10-22T10:13:53.566Z
95
+ undefined
96
+
97
+ 2025-10-22T10:19:32.240Z
98
+ undefined
99
+
100
+ 2025-10-22T10:22:23.521Z
101
+ undefined
102
+
103
+ 2025-10-22T10:29:45.883Z
104
+ undefined
105
+
106
+ 2025-10-22T10:42:26.648Z
107
+ undefined
108
+
109
+ 2025-10-22T10:44:59.415Z
110
+ undefined
111
+
112
+ 2025-10-22T10:48:31.778Z
113
+ undefined
114
+
115
+ 2025-10-22T10:50:50.875Z
116
+ undefined
117
+
118
+ 2025-10-22T10:57:13.544Z
119
+ undefined
120
+
121
+ 2025-10-22T10:58:41.991Z
122
+ undefined
123
+
124
+ 2025-10-22T11:01:06.960Z
125
+ undefined
126
+
127
+ 2025-10-22T11:02:44.941Z
128
+ undefined
129
+
130
+ 2025-10-22T11:05:37.871Z
131
+ undefined
132
+
133
+ 2025-10-22T14:13:50.233Z
134
+ undefined
135
+
136
+ 2025-10-22T14:15:11.230Z
137
+ undefined
138
+
139
+ 2025-10-22T14:19:40.172Z
140
+ undefined
141
+
142
+ 2025-10-22T14:46:29.715Z
143
+ undefined
144
+
145
+ 2025-10-22T15:25:06.733Z
146
+ undefined
147
+
148
+ 2025-10-22T15:27:34.922Z
149
+ undefined
150
+
151
+ 2025-10-22T15:29:58.200Z
152
+ undefined
153
+
154
+ 2025-10-22T15:31:58.443Z
155
+ undefined
156
+
157
+ 2025-10-22T15:33:32.410Z
158
+ undefined
159
+
160
+ 2025-10-22T15:35:47.198Z
161
+ undefined
162
+
163
+ 2025-10-22T15:38:27.369Z
164
+ undefined
165
+
166
+ 2025-10-22T15:42:34.417Z
167
+ undefined
168
+
169
+ 2025-10-23T02:22:12.700Z
170
+ undefined
171
+
172
+ 2025-10-23T02:28:06.052Z
173
+ undefined
174
+
175
+ 2025-10-23T02:30:12.978Z
176
+ undefined
177
+
178
+ 2025-10-23T02:32:22.445Z
179
+ undefined
180
+
181
+ 2025-10-23T02:34:26.907Z
182
+ undefined
183
+
184
+ 2025-10-23T02:35:37.742Z
185
+ undefined
186
+
187
+ 2025-10-23T02:37:07.724Z
188
+ undefined
189
+
190
+ 2025-10-23T02:38:35.592Z
191
+ undefined
192
+
193
+ 2025-10-23T03:12:21.759Z
194
+ undefined
195
+
196
+ 2025-10-23T03:17:08.437Z
197
+ undefined
198
+
199
+ 2025-10-23T03:18:23.765Z
200
+ undefined
201
+
202
+ 2025-10-23T03:19:34.953Z
203
+ undefined
204
+
205
+ 2025-10-23T04:43:38.246Z
206
+ undefined
207
+
208
+ 2025-10-23T04:51:17.737Z
209
+ undefined
210
+
211
+ 2025-10-23T05:03:37.741Z
212
+ undefined
213
+
214
+ 2025-10-23T05:08:59.781Z
215
+ undefined
216
+
217
+ 2025-10-23T05:12:23.714Z
218
+ undefined
219
+
220
+ 2025-10-23T05:31:01.533Z
221
+ undefined
222
+
223
+ 2025-10-23T07:05:12.689Z
224
+ undefined
225
+
226
+ 2025-10-23T07:07:08.650Z
227
+ undefined
228
+
229
+ 2025-10-23T08:10:11.695Z
230
+ undefined
231
+
232
+ 2025-10-23T08:53:46.953Z
233
+ undefined
234
+
235
+ 2025-10-23T09:04:50.173Z
236
+ undefined
237
+
238
+ 2025-10-23T09:32:43.290Z
239
+ undefined
240
+
241
+ 2025-10-23T09:36:57.275Z
242
+ undefined
243
+
244
+ 2025-10-23T09:44:36.263Z
245
+ undefined
246
+
247
+ 2025-10-23T09:48:48.117Z
248
+ undefined
249
+
250
+ 2025-10-23T09:51:44.831Z
251
+ undefined
252
+
253
+ 2025-10-23T09:53:37.764Z
254
+ undefined
255
+
256
+ 2025-10-23T10:05:18.135Z
257
+ undefined
258
+
259
+ 2025-10-23T10:20:22.033Z
260
+ undefined
261
+
262
+ 2025-10-23T10:26:18.147Z
263
+ undefined
264
+
265
+ 2025-10-23T10:31:10.749Z
266
+ undefined
267
+
268
+ 2025-10-23T10:34:56.225Z
269
+ undefined
270
+
271
+ 2025-10-23T10:41:38.679Z
272
+ undefined
273
+
274
+ 2025-10-23T10:44:47.319Z
275
+ undefined
276
+
277
+ 2025-10-23T10:48:58.505Z
278
+ undefined
279
+
280
+ 2025-10-23T15:28:06.568Z
281
+ undefined
282
+
283
+ 2025-10-23T15:31:45.607Z
284
+ undefined
285
+
286
+ 2025-10-24T00:23:05.170Z
287
+ undefined
288
+
289
+ 2025-10-24T00:31:10.130Z
290
+ undefined
291
+
292
+ 2025-10-24T00:38:40.581Z
293
+ undefined
294
+
295
+ 2025-10-24T01:22:24.762Z
296
+ undefined
297
+
298
+ 2025-10-24T02:43:02.347Z
299
+ undefined
300
+
301
+ 2025-10-24T02:48:44.983Z
302
+ undefined
303
+
304
+ 2025-10-24T02:53:01.314Z
305
+ undefined
306
+
307
+ 2025-10-24T02:54:49.205Z
308
+ undefined
309
+
310
+ 2025-10-24T02:56:06.567Z
311
+ undefined
312
+
313
+ 2025-10-24T03:03:12.077Z
314
+ undefined
315
+
316
+ 2025-10-24T03:26:46.470Z
317
+ undefined
318
+
319
+ 2025-10-24T03:53:58.404Z
320
+ undefined
321
+
322
+ 2025-10-24T04:05:38.657Z
323
+ undefined
324
+
325
+ 2025-10-24T04:10:59.494Z
326
+ undefined
327
+
328
+ 2025-10-24T04:15:49.700Z
329
+ undefined
330
+
331
+ 2025-10-24T04:21:26.836Z
332
+ undefined
333
+
334
+ 2025-10-24T04:30:52.548Z
335
+ undefined
336
+
337
+ 2025-10-28T04:22:47.397Z
338
+ undefined
339
+
340
+ 2025-10-28T04:25:03.413Z
341
+ undefined
342
+
343
+ 2025-10-28T05:18:44.420Z
344
+ undefined
345
+
@@ -0,0 +1,25 @@
1
+ Table "UserMaster" {
2
+ "UserMasterKey" "BIGINT IDENTITY(1,1)" [not null]
3
+ }
4
+
5
+ Table "CodeDef" {
6
+ "CdKey" "BIGINT IDENTITY(1,1)" [not null]
7
+ "Category" NVARCHAR(50) [not null]
8
+ "Description" NVARCHAR(100)
9
+ "Code" NVARCHAR(50) [not null]
10
+ "ParentCdKey" BIGINT
11
+ "UserMasterKeyAddedBy" BIGINT [not null]
12
+ "UserMasterKeyLastEditedBy" BIGINT
13
+ "AddedDtTm" DATETIMEOFFSET(7) [not null]
14
+ "LastEditedDtTm" DATETIMEOFFSET(7)
15
+ "EffectiveFromDtTm" DATETIMEOFFSET(7) [not null]
16
+ "EffectiveThruDtTm" DATETIMEOFFSET(7)
17
+
18
+ Indexes {
19
+ CdKey [pk, name: "PK__CodeDef__4922449ECDD244C3"]
20
+ }
21
+ }
22
+
23
+ Ref "fk__CodeDef__ParentCdKey__CodeDef__CdKey":"CodeDef"."CdKey" < "CodeDef"."ParentCdKey"
24
+
25
+ Ref "fk__CodeDef__UserMasterKeyLastEditedBy__UserMaster_UserMasterKey":"UserMaster"."UserMasterKey" < "CodeDef"."UserMasterKeyLastEditedBy"
@@ -0,0 +1,74 @@
1
+ Enum "orders_status_enum" {
2
+ "created"
3
+ "running"
4
+ "done"
5
+ "failure"
6
+ }
7
+
8
+ Enum "products_status_enum" {
9
+ "Out of Stock"
10
+ "In Stock"
11
+ }
12
+
13
+ Table "orders" {
14
+ "id" int [pk, increment]
15
+ "user_id" int [unique, not null]
16
+ "status" orders_status_enum
17
+ "created_at" varchar(255)
18
+ }
19
+
20
+ Table "order_items" {
21
+ "order_id" int
22
+ "product_id" int
23
+ "quantity" int [default: 1]
24
+ }
25
+
26
+ Table "products" {
27
+ "id" int [pk]
28
+ "name" varchar(255)
29
+ "merchant_id" int [not null]
30
+ "price" int
31
+ "status" products_status_enum
32
+ "created_at" datetime [default: `now()`]
33
+
34
+ Indexes {
35
+ (merchant_id, status) [name: "product_status"]
36
+ id [type: hash, unique, name: "products_index_1"]
37
+ }
38
+ }
39
+
40
+ Table "users" {
41
+ "id" int [pk]
42
+ "full_name" varchar(255)
43
+ "email" varchar(255) [unique]
44
+ "gender" varchar(255)
45
+ "date_of_birth" varchar(255)
46
+ "created_at" varchar(255)
47
+ "country_code" int
48
+ }
49
+
50
+ Table "merchants" {
51
+ "id" int [pk]
52
+ "merchant_name" varchar(255)
53
+ "country_code" int
54
+ "created_at" varchar(255)
55
+ "admin_id" int
56
+ }
57
+
58
+ Table "countries" {
59
+ "code" int [pk]
60
+ "name" varchar(255)
61
+ "continent_name" varchar(255)
62
+ }
63
+
64
+ Ref:"orders"."id" < "order_items"."order_id"
65
+
66
+ Ref:"products"."id" < "order_items"."product_id"
67
+
68
+ Ref:"countries"."code" < "users"."country_code"
69
+
70
+ Ref:"countries"."code" < "merchants"."country_code"
71
+
72
+ Ref:"merchants"."id" < "products"."merchant_id"
73
+
74
+ Ref:"users"."id" < "merchants"."admin_id"
@@ -0,0 +1,74 @@
1
+ Enum "orders_status" {
2
+ "created"
3
+ "running"
4
+ "done"
5
+ "failure"
6
+ }
7
+
8
+ Enum "product status" {
9
+ "Out of Stock"
10
+ "In Stock"
11
+ }
12
+
13
+ Table "orders" {
14
+ "id" SERIAL [pk, increment]
15
+ "user_id" int [unique, not null]
16
+ "status" orders_status
17
+ "created_at" varchar
18
+ }
19
+
20
+ Table "order_items" {
21
+ "order_id" int
22
+ "product_id" int
23
+ "quantity" int [default: 1]
24
+ }
25
+
26
+ Table "products" {
27
+ "id" int [pk]
28
+ "name" varchar
29
+ "merchant_id" int [not null]
30
+ "price" int
31
+ "status" "product status"
32
+ "created_at" datetime [default: `now()`]
33
+
34
+ Indexes {
35
+ (merchant_id, status) [name: "product_status"]
36
+ id [type: hash, unique]
37
+ }
38
+ }
39
+
40
+ Table "users" {
41
+ "id" int [pk]
42
+ "full_name" varchar
43
+ "email" varchar [unique]
44
+ "gender" varchar
45
+ "date_of_birth" varchar
46
+ "created_at" varchar
47
+ "country_code" int
48
+ }
49
+
50
+ Table "merchants" {
51
+ "id" int [pk]
52
+ "merchant_name" varchar
53
+ "country_code" int
54
+ "created_at" varchar
55
+ "admin_id" int
56
+ }
57
+
58
+ Table "countries" {
59
+ "code" int [pk]
60
+ "name" varchar
61
+ "continent_name" varchar
62
+ }
63
+
64
+ Ref:"orders"."id" < "order_items"."order_id"
65
+
66
+ Ref:"products"."id" < "order_items"."product_id"
67
+
68
+ Ref:"countries"."code" < "users"."country_code"
69
+
70
+ Ref:"countries"."code" < "merchants"."country_code"
71
+
72
+ Ref:"merchants"."id" < "products"."merchant_id"
73
+
74
+ Ref:"users"."id" < "merchants"."admin_id"