@dbml/cli 10.4.0-alpha.1 → 10.4.0-alpha.10

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 (101) hide show
  1. package/__tests__/dbml2sql/multifile --postgres stdout/in-files/main.dbml +2 -0
  2. package/__tests__/dbml2sql/multifile --postgres stdout/in-files/sub/orders.dbml +6 -0
  3. package/__tests__/dbml2sql/multifile --postgres stdout/in-files/types.dbml +4 -0
  4. package/__tests__/dbml2sql/multifile --postgres stdout/options.json +6 -0
  5. package/__tests__/dbml2sql/multifile --postgres stdout/stdout.txt +12 -0
  6. package/__tests__/dbml2sql/multifile error entry-syntax-error/dbml-error.log +1 -21
  7. package/__tests__/dbml2sql/multifile error import-not-found/dbml-error.log +441 -5137
  8. package/__tests__/dbml2sql/multifile error imported-syntax-error/dbml-error.log +1 -21
  9. package/__tests__/dbml2sql/multifile error transitive-use-not-visible/dbml-error.log +1 -17
  10. package/__tests__/windows/multifile-backslash/in-files/main.dbml +2 -0
  11. package/__tests__/windows/multifile-backslash/in-files/sub/orders.dbml +6 -0
  12. package/__tests__/windows/multifile-backslash/in-files/types.dbml +4 -0
  13. package/__tests__/windows/multifile-backslash/options.json +6 -0
  14. package/__tests__/windows/multifile-backslash/stdout.txt +12 -0
  15. package/__tests__/windows/multifile-relative/in-files/main.dbml +2 -0
  16. package/__tests__/windows/multifile-relative/in-files/sub/orders.dbml +6 -0
  17. package/__tests__/windows/multifile-relative/in-files/types.dbml +4 -0
  18. package/__tests__/windows/multifile-relative/options.json +6 -0
  19. package/__tests__/windows/multifile-relative/stdout.txt +12 -0
  20. package/__tests__/windows.test.ts +34 -0
  21. package/lib/index.js +93 -32
  22. package/package.json +6 -6
  23. package/src/NodeProjectLayout.ts +9 -1
  24. package/src/cli/import.ts +4 -5
  25. package/src/cli/utils.ts +4 -3
  26. package/__tests__/db2dbml/mssql/dbml-error.log +0 -55
  27. package/__tests__/db2dbml/mysql/dbml-error.log +0 -15
  28. package/__tests__/db2dbml/oracle/dbml-error.log +0 -70
  29. package/__tests__/db2dbml/postgres/dbml-error.log +0 -35
  30. package/__tests__/dbml2sql/filename --mysql --out-file/out-files/schema.sql +0 -65
  31. package/__tests__/dbml2sql/filename --oracle --out-file/out-files/schema.sql +0 -61
  32. package/__tests__/dbml2sql/filename --oracle stdout/dbml-error.log +0 -0
  33. package/__tests__/dbml2sql/filename --out-file/dbml-error.log +0 -0
  34. package/__tests__/dbml2sql/filename --out-file/out-files/schema.sql +0 -77
  35. package/__tests__/dbml2sql/filename --postgres --out-file/dbml-error.log +0 -0
  36. package/__tests__/dbml2sql/filename --postgres --out-file/out-files/schema.sql +0 -77
  37. package/__tests__/dbml2sql/filename --postgres stdout/dbml-error.log +0 -0
  38. package/__tests__/dbml2sql/filename stdout/dbml-error.log +0 -0
  39. package/__tests__/dbml2sql/filenames --mysql --out-file/dbml-error.log +0 -0
  40. package/__tests__/dbml2sql/filenames --mysql --out-file/out-files/schema.sql +0 -172
  41. package/__tests__/dbml2sql/filenames --mysql stdout/dbml-error.log +0 -0
  42. package/__tests__/dbml2sql/filenames --oracle --out-file/dbml-error.log +0 -0
  43. package/__tests__/dbml2sql/filenames --oracle --out-file/out-files/schema.sql +0 -172
  44. package/__tests__/dbml2sql/filenames --oracle stdout/dbml-error.log +0 -0
  45. package/__tests__/dbml2sql/filenames --out-file/dbml-error.log +0 -0
  46. package/__tests__/dbml2sql/filenames --out-file/out-files/schema.sql +0 -172
  47. package/__tests__/dbml2sql/filenames --postgres --out-file/dbml-error.log +0 -0
  48. package/__tests__/dbml2sql/filenames --postgres --out-file/out-files/schema.sql +0 -172
  49. package/__tests__/dbml2sql/filenames --postgres stdout/dbml-error.log +0 -0
  50. package/__tests__/dbml2sql/filenames stdout/dbml-error.log +0 -0
  51. package/__tests__/dbml2sql/multiple_schema_mssql/dbml-error.log +0 -0
  52. package/__tests__/dbml2sql/multiple_schema_mssql/out-files/multiple_schema.out.sql +0 -62
  53. package/__tests__/dbml2sql/multiple_schema_mysql/dbml-error.log +0 -0
  54. package/__tests__/dbml2sql/multiple_schema_mysql/out-files/multiple_schema.out.sql +0 -50
  55. package/__tests__/dbml2sql/multiple_schema_oracle/dbml-error.log +0 -0
  56. package/__tests__/dbml2sql/multiple_schema_oracle/out-files/multiple_schema.out.sql +0 -88
  57. package/__tests__/dbml2sql/multiple_schema_pg/dbml-error.log +0 -0
  58. package/__tests__/dbml2sql/multiple_schema_pg/out-files/multiple_schema.out.sql +0 -67
  59. package/__tests__/dbml2sql/single file stdout/dbml-error.log +0 -0
  60. package/__tests__/dbml2sql/syntax-error/dbml-error.log +0 -25
  61. package/__tests__/sql2dbml/custom-error-alter-table-column-not-found --oracle/dbml-error.log +0 -20
  62. package/__tests__/sql2dbml/custom-error-alter-table-table-not-found --oracle/dbml-error.log +0 -20
  63. package/__tests__/sql2dbml/custom-error-column-comment-column-not-found --oracle/dbml-error.log +0 -20
  64. package/__tests__/sql2dbml/custom-error-column-comment-table-not-found --oracle/dbml-error.log +0 -20
  65. package/__tests__/sql2dbml/custom-error-create-index-table-not-found --oracle/dbml-error.log +0 -20
  66. package/__tests__/sql2dbml/custom-error-table-comment-table-not-found --oracle/dbml-error.log +0 -20
  67. package/__tests__/sql2dbml/filename --mssql --out-file/dbml-error.log +0 -0
  68. package/__tests__/sql2dbml/filename --mssql --out-file/out-files/schema.dbml +0 -25
  69. package/__tests__/sql2dbml/filename --mysql --out-file/dbml-error.log +0 -0
  70. package/__tests__/sql2dbml/filename --mysql --out-file/out-files/schema.dbml +0 -74
  71. package/__tests__/sql2dbml/filename --mysql stdout/dbml-error.log +0 -0
  72. package/__tests__/sql2dbml/filename --oracle --out-file/dbml-error.log +0 -0
  73. package/__tests__/sql2dbml/filename --oracle --out-file/out-files/schema.dbml +0 -83
  74. package/__tests__/sql2dbml/filename --out-file/dbml-error.log +0 -0
  75. package/__tests__/sql2dbml/filename --out-file/out-files/schema.dbml +0 -74
  76. package/__tests__/sql2dbml/filename --postgres --out-file/dbml-error.log +0 -0
  77. package/__tests__/sql2dbml/filename --postgres --out-file/out-files/schema.dbml +0 -74
  78. package/__tests__/sql2dbml/filename --postgres stdout/dbml-error.log +0 -0
  79. package/__tests__/sql2dbml/filename --snowflake stdout/dbml-error.log +0 -0
  80. package/__tests__/sql2dbml/filename stdout/dbml-error.log +0 -0
  81. package/__tests__/sql2dbml/filenames --mysql --out-file/dbml-error.log +0 -0
  82. package/__tests__/sql2dbml/filenames --mysql --out-file/out-files/schema.dbml +0 -170
  83. package/__tests__/sql2dbml/filenames --mysql stdout/dbml-error.log +0 -0
  84. package/__tests__/sql2dbml/filenames --out-file/dbml-error.log +0 -0
  85. package/__tests__/sql2dbml/filenames --out-file/out-files/schema.dbml +0 -170
  86. package/__tests__/sql2dbml/filenames --postgres --out-file/dbml-error.log +0 -0
  87. package/__tests__/sql2dbml/filenames --postgres --out-file/out-files/schema.dbml +0 -170
  88. package/__tests__/sql2dbml/filenames --postgres stdout/dbml-error.log +0 -0
  89. package/__tests__/sql2dbml/filenames stdout/dbml-error.log +0 -0
  90. package/__tests__/sql2dbml/multiple_schema_mssql/dbml-error.log +0 -0
  91. package/__tests__/sql2dbml/multiple_schema_mssql/out-files/multiple_schema.out.dbml +0 -58
  92. package/__tests__/sql2dbml/multiple_schema_mysql/dbml-error.log +0 -0
  93. package/__tests__/sql2dbml/multiple_schema_mysql/out-files/multiple_schema.out.dbml +0 -136
  94. package/__tests__/sql2dbml/multiple_schema_pg/dbml-error.log +0 -0
  95. package/__tests__/sql2dbml/multiple_schema_pg/out-files/multiple_schema.out.dbml +0 -101
  96. package/__tests__/sql2dbml/syntax-error/dbml-error.log +0 -20
  97. package/__tests__/sql2dbml/syntax-error-duplicate-endpoints --mssql/dbml-error.log +0 -20
  98. package/__tests__/sql2dbml/syntax-error-duplicate-endpoints --mysql/dbml-error.log +0 -20
  99. /package/__tests__/dbml2sql/{filename --mysql --out-file → multifile --postgres stdout}/dbml-error.log +0 -0
  100. /package/__tests__/{dbml2sql/filename --mysql stdout → windows/multifile-relative}/dbml-error.log +0 -0
  101. /package/{__tests__/dbml2sql/filename --oracle --out-file/dbml-error.log → dbml-error.log} +0 -0
@@ -1,88 +0,0 @@
1
- -- SQL dump generated using DBML (dbml.dbdiagram.io)
2
- -- Database: Oracle
3
- -- Generated at: 2026-07-22T11:09:57.428Z
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") DEFERRABLE INITIALLY IMMEDIATE;
73
-
74
- ALTER TABLE "C##test01"."products" ADD FOREIGN KEY ("user_id") REFERENCES "users" ("id") DEFERRABLE INITIALLY IMMEDIATE;
75
-
76
- ALTER TABLE "C##test01"."products" ADD FOREIGN KEY ("user_id") REFERENCES "C##test01"."users" ("id") DEFERRABLE INITIALLY IMMEDIATE;
77
-
78
- ALTER TABLE "C##test02"."users_products" ADD FOREIGN KEY ("users_id") REFERENCES "C##test02"."users" ("id") DEFERRABLE INITIALLY IMMEDIATE;
79
-
80
- ALTER TABLE "C##test02"."users_products" ADD FOREIGN KEY ("products_id") REFERENCES "products" ("id") DEFERRABLE INITIALLY IMMEDIATE;
81
-
82
- ALTER TABLE "users_products" ADD FOREIGN KEY ("users_id") REFERENCES "users" ("id") DEFERRABLE INITIALLY IMMEDIATE;
83
-
84
- ALTER TABLE "users_products" ADD FOREIGN KEY ("products_id") REFERENCES "C##test02"."products" ("id") DEFERRABLE INITIALLY IMMEDIATE;
85
-
86
- ALTER TABLE "C##test01"."users_products" ADD FOREIGN KEY ("users_id") REFERENCES "C##test01"."users" ("id") DEFERRABLE INITIALLY IMMEDIATE;
87
-
88
- ALTER TABLE "C##test01"."users_products" ADD FOREIGN KEY ("products_id") REFERENCES "C##test02"."products" ("id") DEFERRABLE INITIALLY IMMEDIATE;
@@ -1,67 +0,0 @@
1
- -- SQL dump generated using DBML (dbml.dbdiagram.io)
2
- -- Database: PostgreSQL
3
- -- Generated at: 2026-07-22T11:09:58.023Z
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") DEFERRABLE INITIALLY IMMEDIATE;
62
-
63
- ALTER TABLE "schemaA"."locations" ADD FOREIGN KEY ("name") REFERENCES "users" ("id") DEFERRABLE INITIALLY IMMEDIATE;
64
-
65
- ALTER TABLE "ecommerce"."users" ADD FOREIGN KEY ("id") REFERENCES "users" ("id") DEFERRABLE INITIALLY IMMEDIATE;
66
-
67
- ALTER TABLE "ecommerce"."users" ADD CONSTRAINT "name_optional" FOREIGN KEY ("id") REFERENCES "users" ("name") DEFERRABLE INITIALLY IMMEDIATE;
@@ -1,25 +0,0 @@
1
- 2026-06-15T10:57:55.049Z
2
-
3
- ecommerce.dbml(17,24): Expect an identifier
4
- ecommerce.dbml(16,11): Unknown column setting 'pk manager_staff_id int'
5
-
6
- 2026-06-15T10:58:59.111Z
7
-
8
- ecommerce.dbml(17,24): Expect an identifier
9
- ecommerce.dbml(16,11): Unknown column setting 'pk manager_staff_id int'
10
-
11
- 2026-07-22T11:03:44.850Z
12
-
13
- ecommerce.dbml(17,24): Expect an identifier
14
- ecommerce.dbml(17,30): Custom setting 'pk manager_staff_id int' must be a string or a color literal
15
-
16
- 2026-07-22T11:07:17.627Z
17
-
18
- ecommerce.dbml(17,24): Expect an identifier
19
- ecommerce.dbml(17,30): Custom setting 'pk manager_staff_id int' must be a string or a color literal
20
-
21
- 2026-07-22T11:09:59.265Z
22
-
23
- ecommerce.dbml(17,24): Expect an identifier
24
- ecommerce.dbml(17,30): Custom setting 'pk manager_staff_id int' must be a string or a color literal
25
-
@@ -1,20 +0,0 @@
1
- 2026-06-15T10:57:55.826Z
2
-
3
- You have a syntax error at "schema.sql" line 1 column 1. Column "name" do not exist in table "Users"
4
-
5
- 2026-06-15T10:58:59.805Z
6
-
7
- You have a syntax error at "schema.sql" line 1 column 1. Column "name" do not exist in table "Users"
8
-
9
- 2026-07-22T11:03:45.565Z
10
-
11
- You have a syntax error at "schema.sql" line 1 column 1. Column "name" do not exist in table "Users"
12
-
13
- 2026-07-22T11:07:18.369Z
14
-
15
- You have a syntax error at "schema.sql" line 1 column 1. Column "name" do not exist in table "Users"
16
-
17
- 2026-07-22T11:09:59.964Z
18
-
19
- You have a syntax error at "schema.sql" line 1 column 1. Column "name" do not exist in table "Users"
20
-
@@ -1,20 +0,0 @@
1
- 2026-06-15T10:57:56.588Z
2
-
3
- You have a syntax error at "schema.sql" line 1 column 13. Table "Users" not found
4
-
5
- 2026-06-15T10:59:00.474Z
6
-
7
- You have a syntax error at "schema.sql" line 1 column 13. Table "Users" not found
8
-
9
- 2026-07-22T11:03:46.249Z
10
-
11
- You have a syntax error at "schema.sql" line 1 column 13. Table "Users" not found
12
-
13
- 2026-07-22T11:07:19.062Z
14
-
15
- You have a syntax error at "schema.sql" line 1 column 13. Table "Users" not found
16
-
17
- 2026-07-22T11:10:00.633Z
18
-
19
- You have a syntax error at "schema.sql" line 1 column 13. Table "Users" not found
20
-
@@ -1,20 +0,0 @@
1
- 2026-06-15T10:57:57.324Z
2
-
3
- You have a syntax error at "schema.sql" line 5 column 19. Column "name" not found in table "Users"
4
-
5
- 2026-06-15T10:59:01.152Z
6
-
7
- You have a syntax error at "schema.sql" line 5 column 19. Column "name" not found in table "Users"
8
-
9
- 2026-07-22T11:03:46.950Z
10
-
11
- You have a syntax error at "schema.sql" line 5 column 19. Column "name" not found in table "Users"
12
-
13
- 2026-07-22T11:07:19.781Z
14
-
15
- You have a syntax error at "schema.sql" line 5 column 19. Column "name" not found in table "Users"
16
-
17
- 2026-07-22T11:10:01.330Z
18
-
19
- You have a syntax error at "schema.sql" line 5 column 19. Column "name" not found in table "Users"
20
-
@@ -1,20 +0,0 @@
1
- 2026-06-15T10:57:58.140Z
2
-
3
- You have a syntax error at "schema.sql" line 5 column 19. Table "Posts" not found
4
-
5
- 2026-06-15T10:59:01.857Z
6
-
7
- You have a syntax error at "schema.sql" line 5 column 19. Table "Posts" not found
8
-
9
- 2026-07-22T11:03:47.703Z
10
-
11
- You have a syntax error at "schema.sql" line 5 column 19. Table "Posts" not found
12
-
13
- 2026-07-22T11:07:20.484Z
14
-
15
- You have a syntax error at "schema.sql" line 5 column 19. Table "Posts" not found
16
-
17
- 2026-07-22T11:10:02.028Z
18
-
19
- You have a syntax error at "schema.sql" line 5 column 19. Table "Posts" not found
20
-
@@ -1,20 +0,0 @@
1
- 2026-06-15T10:57:58.952Z
2
-
3
- You have a syntax error at "schema.sql" line 1 column 28. Table Users not found
4
-
5
- 2026-06-15T10:59:02.515Z
6
-
7
- You have a syntax error at "schema.sql" line 1 column 28. Table Users not found
8
-
9
- 2026-07-22T11:03:48.395Z
10
-
11
- You have a syntax error at "schema.sql" line 1 column 28. Table Users not found
12
-
13
- 2026-07-22T11:07:21.181Z
14
-
15
- You have a syntax error at "schema.sql" line 1 column 28. Table Users not found
16
-
17
- 2026-07-22T11:10:02.726Z
18
-
19
- You have a syntax error at "schema.sql" line 1 column 28. Table Users not found
20
-
@@ -1,20 +0,0 @@
1
- 2026-06-15T10:57:59.710Z
2
-
3
- You have a syntax error at "schema.sql" line 5 column 18. Table "Posts" not found
4
-
5
- 2026-06-15T10:59:03.186Z
6
-
7
- You have a syntax error at "schema.sql" line 5 column 18. Table "Posts" not found
8
-
9
- 2026-07-22T11:03:49.135Z
10
-
11
- You have a syntax error at "schema.sql" line 5 column 18. Table "Posts" not found
12
-
13
- 2026-07-22T11:07:21.886Z
14
-
15
- You have a syntax error at "schema.sql" line 5 column 18. Table "Posts" not found
16
-
17
- 2026-07-22T11:10:03.411Z
18
-
19
- You have a syntax error at "schema.sql" line 5 column 18. Table "Posts" not found
20
-
@@ -1,25 +0,0 @@
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"
@@ -1,74 +0,0 @@
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"
@@ -1,83 +0,0 @@
1
- Table "departments" {
2
- "dept_id" NUMBER(10) [pk]
3
- "dept_name" VARCHAR2(100)
4
- "location_id" NUMBER(10)
5
- "manager_id" NUMBER(10)
6
- }
7
-
8
- Table "locations" {
9
- "location_id" NUMBER(10) [pk]
10
- "city" VARCHAR2(100)
11
- "country_code" CHAR(2)
12
- }
13
-
14
- Table "countries" {
15
- "country_code" CHAR(2) [pk]
16
- "country_name" VARCHAR2(100)
17
- }
18
-
19
- Table "employees" {
20
- "emp_id" NUMBER(10) [pk]
21
- "emp_name" VARCHAR2(100)
22
- "department_id" NUMBER(10)
23
- "manager_id" NUMBER(10)
24
- "hire_date" DATE
25
- "location_id" NUMBER(10)
26
- }
27
-
28
- Table "projects" {
29
- "project_id" NUMBER(10) [pk]
30
- "project_name" VARCHAR2(200)
31
- "dept_id" NUMBER(10)
32
- "lead_emp_id" NUMBER(10)
33
- "backup_emp_id" NUMBER(10)
34
- }
35
-
36
- Table "assignments" {
37
- "assignment_id" NUMBER(10) [pk]
38
- "emp_id" NUMBER(10)
39
- "project_id" NUMBER(10)
40
- "start_date" DATE
41
- }
42
-
43
- Table "project_tasks" {
44
- "project_id" NUMBER(10)
45
- "task_id" NUMBER(10)
46
- "task_name" VARCHAR2(200)
47
- "assigned_emp_id" NUMBER(10)
48
-
49
- Indexes {
50
- (project_id, task_id) [pk]
51
- }
52
- }
53
-
54
- Table "task_hours" {
55
- "hour_id" NUMBER(10) [pk]
56
- "project_id" NUMBER(10)
57
- "task_id" NUMBER(10)
58
- "hours_worked" NUMBER(5,2)
59
- }
60
-
61
- Ref "fk_emp_dept":"departments"."dept_id" < "employees"."department_id"
62
-
63
- Ref "fk_dept_location":"locations"."location_id" < "departments"."location_id"
64
-
65
- Ref "fk_loc_country":"countries"."country_code" < "locations"."country_code"
66
-
67
- Ref "fk_emp_manager":"employees"."emp_id" < "employees"."manager_id"
68
-
69
- Ref "fk_dept_manager":"employees"."emp_id" < "departments"."manager_id"
70
-
71
- Ref:"departments"."dept_id" < "projects"."dept_id"
72
-
73
- Ref:"employees"."emp_id" < "assignments"."emp_id"
74
-
75
- Ref:"projects"."project_id" < "assignments"."project_id"
76
-
77
- Ref "fk_task_hours_project_task":"project_tasks".("project_id", "task_id") < "task_hours".("project_id", "task_id")
78
-
79
- Ref "fk_proj_lead_emp":"employees"."emp_id" < "projects"."lead_emp_id"
80
-
81
- Ref "fk_proj_backup_emp":"employees"."emp_id" < "projects"."backup_emp_id"
82
-
83
- Ref "fk_task_assigned_emp":"employees"."emp_id" < "project_tasks"."assigned_emp_id"
@@ -1,74 +0,0 @@
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"
@@ -1,74 +0,0 @@
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"
File without changes