@dbml/cli 3.7.2 → 3.7.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 (71) hide show
  1. package/LICENSE +202 -0
  2. package/__test__/db2dbml/mssql/dbml-error.log +506 -0
  3. package/__test__/db2dbml/mysql/dbml-error.log +320 -0
  4. package/__test__/db2dbml/mysql/out-files/schema.dbml +180 -0
  5. package/__test__/db2dbml/postgres/dbml-error.log +291 -0
  6. package/__test__/db2dbml/postgres/out-files/schema.dbml +140 -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 +21 -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/out-files/multiple_schema.out.dbml +106 -0
  63. package/__test__/sql2dbml/multiple_schema_mysql/dbml-error.log +0 -0
  64. package/__test__/sql2dbml/multiple_schema_mysql/out-files/multiple_schema.out.dbml +136 -0
  65. package/__test__/sql2dbml/multiple_schema_pg/dbml-error.log +0 -0
  66. package/__test__/sql2dbml/multiple_schema_pg/out-files/multiple_schema.out.dbml +101 -0
  67. package/__test__/sql2dbml/syntax-error/dbml-error.log +21 -0
  68. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mssql/dbml-error.log +21 -0
  69. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mysql/dbml-error.log +21 -0
  70. package/dbml-error.log +53 -0
  71. package/package.json +4 -4
@@ -0,0 +1,172 @@
1
+ -- SQL dump generated using DBML (dbml.dbdiagram.io)
2
+ -- Database: PostgreSQL
3
+ -- Generated at: 2024-08-14T07:55:18.581Z
4
+
5
+ CREATE TABLE "staff" (
6
+ "id" int PRIMARY KEY,
7
+ "first_name" varchar,
8
+ "last_name" varchar,
9
+ "address_id" int,
10
+ "picture" blob,
11
+ "email" varchar,
12
+ "store_id" int,
13
+ "active" boolean,
14
+ "user_name" varchar,
15
+ "password" varchar,
16
+ "last_update" timestamp
17
+ );
18
+
19
+ CREATE TABLE "store" (
20
+ "id" int PRIMARY KEY,
21
+ "manager_staff_id" int,
22
+ "address_id" int,
23
+ "last_update" timestamp
24
+ );
25
+
26
+ CREATE TABLE "payment" (
27
+ "id" int PRIMARY KEY,
28
+ "customer_id" int,
29
+ "staff_id" int,
30
+ "rental_id" int,
31
+ "amount" decimal,
32
+ "payment_date" datetime,
33
+ "last_update" timestamp
34
+ );
35
+
36
+ CREATE TABLE "rental" (
37
+ "id" int PRIMARY KEY,
38
+ "rental_date" datetime,
39
+ "inventory_id" int,
40
+ "customer_id" int,
41
+ "return_date" ddatetime,
42
+ "staff_id" int,
43
+ "last_update" timestamp
44
+ );
45
+
46
+ ALTER TABLE "staff" ADD FOREIGN KEY ("store_id") REFERENCES "store" ("id");
47
+
48
+ ALTER TABLE "store" ADD FOREIGN KEY ("manager_staff_id") REFERENCES "staff" ("id");
49
+
50
+ ALTER TABLE "payment" ADD FOREIGN KEY ("staff_id") REFERENCES "staff" ("id");
51
+
52
+ ALTER TABLE "payment" ADD FOREIGN KEY ("rental_id") REFERENCES "rental" ("id");
53
+
54
+ ALTER TABLE "rental" ADD FOREIGN KEY ("staff_id") REFERENCES "staff" ("id");
55
+ CREATE TABLE "country" (
56
+ "id" int PRIMARY KEY,
57
+ "country" varchar,
58
+ "last_update" timestamp
59
+ );
60
+
61
+ CREATE TABLE "city" (
62
+ "id" int PRIMARY KEY,
63
+ "city" varchar,
64
+ "country_id" int,
65
+ "last_update" timestamp
66
+ );
67
+
68
+ CREATE TABLE "address" (
69
+ "id" int PRIMARY KEY,
70
+ "address" varchar,
71
+ "address2" varchar,
72
+ "district" varchar,
73
+ "city_id" int,
74
+ "postal_code" varchar,
75
+ "phone" varchar,
76
+ "last_update" timestamp
77
+ );
78
+
79
+ CREATE TABLE "customer" (
80
+ "id" int PRIMARY KEY,
81
+ "store_id" int,
82
+ "first_name" varchar,
83
+ "last_name" varchar,
84
+ "email" varchar,
85
+ "address_id" int,
86
+ "active" boolean,
87
+ "create_Date" timestamp,
88
+ "last_update" timestamp
89
+ );
90
+
91
+ CREATE INDEX ON "customer" USING BTREE ("id", "first_name");
92
+
93
+ ALTER TABLE "city" ADD FOREIGN KEY ("country_id") REFERENCES "country" ("id");
94
+
95
+ ALTER TABLE "address" ADD FOREIGN KEY ("city_id") REFERENCES "city" ("id");
96
+
97
+ ALTER TABLE "customer" ADD FOREIGN KEY ("address_id") REFERENCES "address" ("id");
98
+ CREATE TABLE "category" (
99
+ "id" int PRIMARY KEY,
100
+ "name" varchar,
101
+ "last_update" timestamp
102
+ );
103
+
104
+ CREATE TABLE "film_category" (
105
+ "id" int PRIMARY KEY,
106
+ "category_id" int,
107
+ "last_update" timestamp
108
+ );
109
+
110
+ CREATE TABLE "language" (
111
+ "id" int PRIMARY KEY,
112
+ "name" varchar,
113
+ "last_update" timestamp
114
+ );
115
+
116
+ CREATE TABLE "film_text" (
117
+ "id" int PRIMARY KEY,
118
+ "film_id" int,
119
+ "title" varchar,
120
+ "description" text
121
+ );
122
+
123
+ CREATE TABLE "actor" (
124
+ "id" int PRIMARY KEY,
125
+ "first_name" varchar,
126
+ "last_name" varchar,
127
+ "last_update" timestamp
128
+ );
129
+
130
+ CREATE TABLE "film" (
131
+ "id" int PRIMARY KEY,
132
+ "title" varchar,
133
+ "description" text,
134
+ "releaase_year" int,
135
+ "language_id" int,
136
+ "original_language_id" int,
137
+ "rental_duration" int,
138
+ "rental_rate" decimal,
139
+ "length" int,
140
+ "replacement_cost" decimal,
141
+ "rating" varchar,
142
+ "special_feature" varchar,
143
+ "last_update" timestamp
144
+ );
145
+
146
+ CREATE TABLE "film_actor" (
147
+ "id" int PRIMARY KEY,
148
+ "film_id" int,
149
+ "actor_id" int,
150
+ "last_update" timestamp
151
+ );
152
+
153
+ CREATE TABLE "inventory" (
154
+ "id" int PRIMARY KEY,
155
+ "film_id" int,
156
+ "store_id" int,
157
+ "last_update" timestamp
158
+ );
159
+
160
+ ALTER TABLE "film_category" ADD FOREIGN KEY ("category_id") REFERENCES "category" ("id");
161
+
162
+ ALTER TABLE "film_text" ADD FOREIGN KEY ("film_id") REFERENCES "inventory" ("film_id");
163
+
164
+ ALTER TABLE "film" ADD FOREIGN KEY ("language_id") REFERENCES "language" ("id");
165
+
166
+ ALTER TABLE "film" ADD FOREIGN KEY ("original_language_id") REFERENCES "language" ("id");
167
+
168
+ ALTER TABLE "film_actor" ADD FOREIGN KEY ("film_id") REFERENCES "film" ("id");
169
+
170
+ ALTER TABLE "film_actor" ADD FOREIGN KEY ("actor_id") REFERENCES "actor" ("id");
171
+
172
+ ALTER TABLE "inventory" ADD FOREIGN KEY ("film_id") REFERENCES "film" ("id");
@@ -0,0 +1,62 @@
1
+ -- SQL dump generated using DBML (dbml.dbdiagram.io)
2
+ -- Database: SQL Server
3
+ -- Generated at: 2024-08-14T07:55:19.920Z
4
+
5
+ CREATE SCHEMA [schemaB]
6
+ GO
7
+
8
+ CREATE SCHEMA [ecommerce]
9
+ GO
10
+
11
+ CREATE SCHEMA [schemaA]
12
+ GO
13
+
14
+ CREATE TABLE [users] (
15
+ [id] int PRIMARY KEY,
16
+ [name] nvarchar(255),
17
+ [pjs] nvarchar(255) NOT NULL CHECK ([pjs] IN ('created2', 'running2', 'done2', 'failure2')),
18
+ [pjs2] nvarchar(255) NOT NULL CHECK ([pjs2] IN ('created2', 'running2', 'done2', 'failure2')),
19
+ [pg] nvarchar(255) NOT NULL CHECK ([pg] IN ('male', 'female')),
20
+ [pg2] nvarchar(255) NOT NULL CHECK ([pg2] IN ('male2', 'female2'))
21
+ )
22
+ GO
23
+
24
+ CREATE TABLE [products] (
25
+ [id] int PRIMARY KEY,
26
+ [name] nvarchar(255)
27
+ )
28
+ GO
29
+
30
+ CREATE TABLE [ecommerce].[users] (
31
+ [id] int PRIMARY KEY,
32
+ [name] nvarchar(255),
33
+ [ejs] nvarchar(255) NOT NULL CHECK ([ejs] IN ('created2', 'running2', 'done2', 'failure2')),
34
+ [ejs2] nvarchar(255) NOT NULL CHECK ([ejs2] IN ('created2', 'running2', 'done2', 'failure2')),
35
+ [eg] nvarchar(255) NOT NULL CHECK ([eg] IN ('male', 'female')),
36
+ [eg2] nvarchar(255) NOT NULL CHECK ([eg2] IN ('male2', 'female2'))
37
+ )
38
+ GO
39
+
40
+ CREATE TABLE [schemaA].[products] (
41
+ [id] int PRIMARY KEY,
42
+ [name] nvarchar(255)
43
+ )
44
+ GO
45
+
46
+ CREATE TABLE [schemaA].[locations] (
47
+ [id] int PRIMARY KEY,
48
+ [name] nvarchar(255)
49
+ )
50
+ GO
51
+
52
+ ALTER TABLE [schemaA].[products] ADD FOREIGN KEY ([name]) REFERENCES [ecommerce].[users] ([id])
53
+ GO
54
+
55
+ ALTER TABLE [schemaA].[locations] ADD FOREIGN KEY ([name]) REFERENCES [users] ([id])
56
+ GO
57
+
58
+ ALTER TABLE [ecommerce].[users] ADD FOREIGN KEY ([id]) REFERENCES [users] ([id])
59
+ GO
60
+
61
+ ALTER TABLE [ecommerce].[users] ADD CONSTRAINT [name_optional] FOREIGN KEY ([id]) REFERENCES [users] ([name])
62
+ GO
@@ -0,0 +1,50 @@
1
+ -- SQL dump generated using DBML (dbml.dbdiagram.io)
2
+ -- Database: MySQL
3
+ -- Generated at: 2024-08-14T07:55:20.297Z
4
+
5
+ CREATE SCHEMA `schemaB`;
6
+
7
+ CREATE SCHEMA `ecommerce`;
8
+
9
+ CREATE SCHEMA `schemaA`;
10
+
11
+ CREATE TABLE `users` (
12
+ `id` int PRIMARY KEY,
13
+ `name` varchar(255),
14
+ `pjs` ENUM ('created2', 'running2', 'done2', 'failure2'),
15
+ `pjs2` ENUM ('created2', 'running2', 'done2', 'failure2'),
16
+ `pg` ENUM ('male', 'female'),
17
+ `pg2` ENUM ('male2', 'female2')
18
+ );
19
+
20
+ CREATE TABLE `products` (
21
+ `id` int PRIMARY KEY,
22
+ `name` varchar(255)
23
+ );
24
+
25
+ CREATE TABLE `ecommerce`.`users` (
26
+ `id` int PRIMARY KEY,
27
+ `name` varchar(255),
28
+ `ejs` ENUM ('created2', 'running2', 'done2', 'failure2'),
29
+ `ejs2` ENUM ('created2', 'running2', 'done2', 'failure2'),
30
+ `eg` ENUM ('male', 'female'),
31
+ `eg2` ENUM ('male2', 'female2')
32
+ );
33
+
34
+ CREATE TABLE `schemaA`.`products` (
35
+ `id` int PRIMARY KEY,
36
+ `name` varchar(255)
37
+ );
38
+
39
+ CREATE TABLE `schemaA`.`locations` (
40
+ `id` int PRIMARY KEY,
41
+ `name` varchar(255)
42
+ );
43
+
44
+ ALTER TABLE `schemaA`.`products` ADD FOREIGN KEY (`name`) REFERENCES `ecommerce`.`users` (`id`);
45
+
46
+ ALTER TABLE `schemaA`.`locations` ADD FOREIGN KEY (`name`) REFERENCES `users` (`id`);
47
+
48
+ ALTER TABLE `ecommerce`.`users` ADD FOREIGN KEY (`id`) REFERENCES `users` (`id`);
49
+
50
+ ALTER TABLE `ecommerce`.`users` ADD CONSTRAINT `name_optional` FOREIGN KEY (`id`) REFERENCES `users` (`name`);
@@ -0,0 +1,88 @@
1
+ -- SQL dump generated using DBML (dbml.dbdiagram.io)
2
+ -- Database: Oracle
3
+ -- Generated at: 2024-08-14T07:55:20.666Z
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: 2024-08-14T07:55:21.032Z
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,21 @@
1
+ 2024-06-12T04:31:55.864Z
2
+ undefined
3
+
4
+ 2024-08-09T00:04:56.460Z
5
+ undefined
6
+
7
+ 2024-08-09T03:07:55.701Z
8
+ undefined
9
+
10
+ 2024-08-11T02:28:02.933Z
11
+ undefined
12
+
13
+ 2024-08-14T07:36:46.426Z
14
+ undefined
15
+
16
+ 2024-08-14T07:52:32.300Z
17
+ undefined
18
+
19
+ 2024-08-14T07:55:21.406Z
20
+ undefined
21
+
@@ -0,0 +1,25 @@
1
+ Table "UserMaster" {
2
+ "UserMasterKey" BIGINT [not null, increment]
3
+ }
4
+
5
+ Table "CodeDef" {
6
+ "CdKey" BIGINT [not null, increment]
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]
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"