@dbml/cli 2.3.1 → 2.4.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 (103) hide show
  1. package/__test__/cli.test.js +3 -1
  2. package/__test__/dbml2sql/filename --mysql --out-file/dbml-error.log +36 -0
  3. package/__test__/dbml2sql/filename --mysql --out-file/expect-out-files/schema.sql +4 -4
  4. package/__test__/dbml2sql/filename --mysql --out-file/out-files/schema.sql +65 -0
  5. package/__test__/dbml2sql/filename --mysql stdout/dbml-error.log +0 -0
  6. package/__test__/dbml2sql/filename --mysql stdout/stdout.txt +4 -4
  7. package/__test__/dbml2sql/filename --out-file/dbml-error.log +36 -0
  8. package/__test__/dbml2sql/filename --out-file/expect-out-files/schema.sql +4 -4
  9. package/__test__/dbml2sql/filename --out-file/out-files/schema.sql +77 -0
  10. package/__test__/dbml2sql/filename --postgres --out-file/dbml-error.log +24 -0
  11. package/__test__/dbml2sql/filename --postgres --out-file/expect-out-files/schema.sql +4 -4
  12. package/__test__/dbml2sql/filename --postgres --out-file/out-files/schema.sql +77 -0
  13. package/__test__/dbml2sql/filename --postgres stdout/dbml-error.log +0 -0
  14. package/__test__/dbml2sql/filename --postgres stdout/stdout.txt +4 -4
  15. package/__test__/dbml2sql/filename stdout/dbml-error.log +0 -0
  16. package/__test__/dbml2sql/filename stdout/stdout.txt +4 -4
  17. package/__test__/dbml2sql/filenames --mysql --out-file/dbml-error.log +24 -0
  18. package/__test__/dbml2sql/filenames --mysql --out-file/expect-out-files/schema.sql +2 -2
  19. package/__test__/dbml2sql/filenames --mysql --out-file/out-files/schema.sql +172 -0
  20. package/__test__/dbml2sql/filenames --mysql stdout/dbml-error.log +0 -0
  21. package/__test__/dbml2sql/filenames --mysql stdout/stdout.txt +2 -2
  22. package/__test__/dbml2sql/filenames --out-file/dbml-error.log +24 -0
  23. package/__test__/dbml2sql/filenames --out-file/expect-out-files/schema.sql +2 -2
  24. package/__test__/dbml2sql/filenames --out-file/out-files/schema.sql +172 -0
  25. package/__test__/dbml2sql/filenames --postgres --out-file/dbml-error.log +24 -0
  26. package/__test__/dbml2sql/filenames --postgres --out-file/expect-out-files/schema.sql +2 -2
  27. package/__test__/dbml2sql/filenames --postgres --out-file/out-files/schema.sql +172 -0
  28. package/__test__/dbml2sql/filenames --postgres stdout/dbml-error.log +0 -0
  29. package/__test__/dbml2sql/filenames --postgres stdout/stdout.txt +2 -2
  30. package/__test__/dbml2sql/filenames stdout/dbml-error.log +0 -0
  31. package/__test__/dbml2sql/filenames stdout/stdout.txt +2 -2
  32. package/__test__/dbml2sql/multiple_schema_mssql/dbml-error.log +24 -0
  33. package/__test__/dbml2sql/multiple_schema_mssql/expect-out-files/multiple_schema.out.sql +58 -0
  34. package/__test__/dbml2sql/multiple_schema_mssql/in-files/multiple_schema.in.dbml +62 -0
  35. package/__test__/dbml2sql/multiple_schema_mssql/options.json +8 -0
  36. package/__test__/dbml2sql/multiple_schema_mssql/out-files/multiple_schema.out.sql +62 -0
  37. package/__test__/dbml2sql/multiple_schema_mssql/stdout.txt +1 -0
  38. package/__test__/dbml2sql/multiple_schema_mysql/dbml-error.log +24 -0
  39. package/__test__/dbml2sql/multiple_schema_mysql/expect-out-files/multiple_schema.out.sql +46 -0
  40. package/__test__/dbml2sql/multiple_schema_mysql/in-files/multiple_schema.in.dbml +62 -0
  41. package/__test__/dbml2sql/multiple_schema_mysql/options.json +8 -0
  42. package/__test__/dbml2sql/multiple_schema_mysql/out-files/multiple_schema.out.sql +50 -0
  43. package/__test__/dbml2sql/multiple_schema_mysql/stdout.txt +1 -0
  44. package/__test__/dbml2sql/multiple_schema_pg/dbml-error.log +24 -0
  45. package/__test__/dbml2sql/multiple_schema_pg/expect-out-files/multiple_schema.out.sql +63 -0
  46. package/__test__/dbml2sql/multiple_schema_pg/in-files/multiple_schema.in.dbml +62 -0
  47. package/__test__/dbml2sql/multiple_schema_pg/options.json +8 -0
  48. package/__test__/dbml2sql/multiple_schema_pg/out-files/multiple_schema.out.sql +67 -0
  49. package/__test__/dbml2sql/multiple_schema_pg/stdout.txt +1 -0
  50. package/__test__/dbml2sql/syntax-error/dbml-error.log +1647 -0
  51. package/__test__/sql2dbml/filename --mssql --out-file/dbml-error.log +51 -0
  52. package/__test__/sql2dbml/filename --mssql --out-file/expect-out-files/schema.dbml +25 -0
  53. package/__test__/sql2dbml/filename --mssql --out-file/in-files/schema.sql +20 -0
  54. package/__test__/sql2dbml/filename --mssql --out-file/options.json +8 -0
  55. package/__test__/sql2dbml/filename --mssql --out-file/out-files/schema.dbml +25 -0
  56. package/__test__/sql2dbml/filename --mssql --out-file/stdout.txt +1 -0
  57. package/__test__/sql2dbml/filename --mysql --out-file/dbml-error.log +24 -0
  58. package/__test__/sql2dbml/filename --mysql --out-file/out-files/schema.dbml +74 -0
  59. package/__test__/sql2dbml/filename --mysql stdout/dbml-error.log +0 -0
  60. package/__test__/sql2dbml/filename --out-file/dbml-error.log +24 -0
  61. package/__test__/sql2dbml/filename --out-file/out-files/schema.dbml +74 -0
  62. package/__test__/sql2dbml/filename --postgres --out-file/dbml-error.log +24 -0
  63. package/__test__/sql2dbml/filename --postgres --out-file/out-files/schema.dbml +74 -0
  64. package/__test__/sql2dbml/filename --postgres stdout/dbml-error.log +0 -0
  65. package/__test__/sql2dbml/filename stdout/dbml-error.log +0 -0
  66. package/__test__/sql2dbml/filenames --mysql --out-file/dbml-error.log +24 -0
  67. package/__test__/sql2dbml/filenames --mysql --out-file/out-files/schema.dbml +170 -0
  68. package/__test__/sql2dbml/filenames --mysql stdout/dbml-error.log +0 -0
  69. package/__test__/sql2dbml/filenames --out-file/dbml-error.log +24 -0
  70. package/__test__/sql2dbml/filenames --out-file/out-files/schema.dbml +170 -0
  71. package/__test__/sql2dbml/filenames --postgres --out-file/dbml-error.log +24 -0
  72. package/__test__/sql2dbml/filenames --postgres --out-file/out-files/schema.dbml +170 -0
  73. package/__test__/sql2dbml/filenames --postgres stdout/dbml-error.log +0 -0
  74. package/__test__/sql2dbml/filenames stdout/dbml-error.log +0 -0
  75. package/__test__/sql2dbml/multiple_schema_mssql/dbml-error.log +104 -0
  76. package/__test__/sql2dbml/multiple_schema_mssql/expect-out-files/multiple_schema.out.dbml +103 -0
  77. package/__test__/sql2dbml/multiple_schema_mssql/in-files/multiple_schema.in.sql +71 -0
  78. package/__test__/sql2dbml/multiple_schema_mssql/options.json +8 -0
  79. package/__test__/sql2dbml/multiple_schema_mssql/out-files/multiple_schema.out.dbml +103 -0
  80. package/__test__/sql2dbml/multiple_schema_mssql/stdout.txt +1 -0
  81. package/__test__/sql2dbml/multiple_schema_mysql/dbml-error.log +104 -0
  82. package/__test__/sql2dbml/multiple_schema_mysql/expect-out-files/multiple_schema.out.dbml +91 -0
  83. package/__test__/sql2dbml/multiple_schema_mysql/in-files/multiple_schema.in.sql +48 -0
  84. package/__test__/sql2dbml/multiple_schema_mysql/options.json +8 -0
  85. package/__test__/sql2dbml/multiple_schema_mysql/out-files/multiple_schema.out.dbml +91 -0
  86. package/__test__/sql2dbml/multiple_schema_mysql/stdout.txt +1 -0
  87. package/__test__/sql2dbml/multiple_schema_pg/dbml-error.log +104 -0
  88. package/__test__/sql2dbml/multiple_schema_pg/expect-out-files/multiple_schema.out.dbml +68 -0
  89. package/__test__/sql2dbml/multiple_schema_pg/in-files/multiple_schema.in.sql +71 -0
  90. package/__test__/sql2dbml/multiple_schema_pg/options.json +8 -0
  91. package/__test__/sql2dbml/multiple_schema_pg/out-files/multiple_schema.out.dbml +68 -0
  92. package/__test__/sql2dbml/multiple_schema_pg/stdout.txt +1 -0
  93. package/__test__/sql2dbml/syntax-error/dbml-error.log +1620 -0
  94. package/bin/dbml2sql.js +0 -0
  95. package/bin/sql2dbml.js +0 -0
  96. package/dbml-error.log +980 -0
  97. package/lib/cli/export.js +1 -1
  98. package/lib/cli/import.js +1 -1
  99. package/lib/cli/index.js +1 -1
  100. package/package.json +4 -4
  101. package/src/cli/export.js +1 -1
  102. package/src/cli/import.js +1 -1
  103. package/src/cli/index.js +1 -0
@@ -19,7 +19,7 @@ describe('@dbml/cli', () => {
19
19
  fs.mkdirSync(path.join(dirName, './out-files'));
20
20
  }
21
21
 
22
- const { stdout } = await exec(`${process.execPath} ${args.join(' ')}`);
22
+ const { stdout } = await exec(`node ${args.join(' ')}`);
23
23
  const expectStdout = fs.readFileSync(path.join(dirName, './stdout.txt'), 'utf-8');
24
24
  const actualStdout = stripAnsi(stdout);
25
25
 
@@ -40,10 +40,12 @@ describe('@dbml/cli', () => {
40
40
 
41
41
  /* eslint-disable */
42
42
  test.each(scanDirNames(__dirname, 'dbml2sql'))('dbml2sql/%s', async (dirName) => {
43
+ jest.setTimeout(10000);
43
44
  await runTest(path.join(__dirname, 'dbml2sql', dirName), 'dbml2sql_bin.js');
44
45
  });
45
46
 
46
47
  test.each(scanDirNames(__dirname, 'sql2dbml'))('sql2dbml/%s', async (dirName) => {
48
+ jest.setTimeout(10000);
47
49
  await runTest(path.join(__dirname, 'sql2dbml', dirName), 'sql2dbml_bin.js');
48
50
  });
49
51
  /* eslint-enable */
@@ -0,0 +1,36 @@
1
+ 2021-07-13T12:37:40.734Z
2
+ TypeError: Cannot read property 'tick' of undefined
3
+ at exportHandler (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\export.js:37:56)
4
+ at dbml2sql (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\index.js:19:3)
5
+ at Object.<anonymous> (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\__test__\dbml2sql_bin.js:5:1)
6
+ at Module._compile (internal/modules/cjs/loader.js:1085:14)
7
+ at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
8
+ at Module.load (internal/modules/cjs/loader.js:950:32)
9
+ at Function.Module._load (internal/modules/cjs/loader.js:790:14)
10
+ at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
11
+ at internal/main/run_main_module.js:17:47
12
+
13
+ 2021-07-13T12:47:15.905Z
14
+ TypeError: Cannot read property 'tick' of undefined
15
+ at exportHandler (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\export.js:37:56)
16
+ at dbml2sql (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\index.js:19:3)
17
+ at Object.<anonymous> (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\__test__\dbml2sql_bin.js:5:1)
18
+ at Module._compile (internal/modules/cjs/loader.js:1085:14)
19
+ at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
20
+ at Module.load (internal/modules/cjs/loader.js:950:32)
21
+ at Function.Module._load (internal/modules/cjs/loader.js:790:14)
22
+ at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
23
+ at internal/main/run_main_module.js:17:47
24
+
25
+ 2021-07-13T12:58:20.418Z
26
+ TypeError: Cannot read property 'tick' of undefined
27
+ at exportHandler (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\export.js:37:49)
28
+ at dbml2sql (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\index.js:19:3)
29
+ at Object.<anonymous> (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\__test__\dbml2sql_bin.js:5:1)
30
+ at Module._compile (internal/modules/cjs/loader.js:1085:14)
31
+ at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
32
+ at Module.load (internal/modules/cjs/loader.js:950:32)
33
+ at Function.Module._load (internal/modules/cjs/loader.js:790:14)
34
+ at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
35
+ at internal/main/run_main_module.js:17:47
36
+
@@ -44,6 +44,10 @@ CREATE TABLE `countries` (
44
44
  `continent_name` varchar(255)
45
45
  );
46
46
 
47
+ CREATE INDEX `product_status` ON `products` (`merchant_id`, `status`);
48
+
49
+ CREATE UNIQUE INDEX `products_index_1` ON `products` (`id`) USING HASH;
50
+
47
51
  ALTER TABLE `order_items` ADD FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`);
48
52
 
49
53
  ALTER TABLE `order_items` ADD FOREIGN KEY (`product_id`) REFERENCES `products` (`id`);
@@ -55,7 +59,3 @@ ALTER TABLE `merchants` ADD FOREIGN KEY (`country_code`) REFERENCES `countries`
55
59
  ALTER TABLE `products` ADD FOREIGN KEY (`merchant_id`) REFERENCES `merchants` (`id`);
56
60
 
57
61
  ALTER TABLE `merchants` ADD FOREIGN KEY (`admin_id`) REFERENCES `users` (`id`);
58
-
59
- CREATE INDEX `product_status` ON `products` (`merchant_id`, `status`);
60
-
61
- CREATE UNIQUE INDEX `products_index_1` ON `products` (`id`) USING HASH;
@@ -0,0 +1,65 @@
1
+ -- SQL dump generated using DBML (dbml-lang.org)
2
+ -- Database: MySQL
3
+ -- Generated at: 2022-03-08T03:40:33.228Z
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`);
@@ -44,6 +44,10 @@ CREATE TABLE `countries` (
44
44
  `continent_name` varchar(255)
45
45
  );
46
46
 
47
+ CREATE INDEX `product_status` ON `products` (`merchant_id`, `status`);
48
+
49
+ CREATE UNIQUE INDEX `products_index_1` ON `products` (`id`) USING HASH;
50
+
47
51
  ALTER TABLE `order_items` ADD FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`);
48
52
 
49
53
  ALTER TABLE `order_items` ADD FOREIGN KEY (`product_id`) REFERENCES `products` (`id`);
@@ -56,7 +60,3 @@ ALTER TABLE `products` ADD FOREIGN KEY (`merchant_id`) REFERENCES `merchants` (`
56
60
 
57
61
  ALTER TABLE `merchants` ADD FOREIGN KEY (`admin_id`) REFERENCES `users` (`id`);
58
62
 
59
- CREATE INDEX `product_status` ON `products` (`merchant_id`, `status`);
60
-
61
- CREATE UNIQUE INDEX `products_index_1` ON `products` (`id`) USING HASH;
62
-
@@ -0,0 +1,36 @@
1
+ 2021-07-13T12:37:43.283Z
2
+ TypeError: Cannot read property 'tick' of undefined
3
+ at exportHandler (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\export.js:37:56)
4
+ at dbml2sql (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\index.js:19:3)
5
+ at Object.<anonymous> (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\__test__\dbml2sql_bin.js:5:1)
6
+ at Module._compile (internal/modules/cjs/loader.js:1085:14)
7
+ at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
8
+ at Module.load (internal/modules/cjs/loader.js:950:32)
9
+ at Function.Module._load (internal/modules/cjs/loader.js:790:14)
10
+ at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
11
+ at internal/main/run_main_module.js:17:47
12
+
13
+ 2021-07-13T12:47:19.039Z
14
+ TypeError: Cannot read property 'tick' of undefined
15
+ at exportHandler (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\export.js:37:56)
16
+ at dbml2sql (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\index.js:19:3)
17
+ at Object.<anonymous> (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\__test__\dbml2sql_bin.js:5:1)
18
+ at Module._compile (internal/modules/cjs/loader.js:1085:14)
19
+ at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
20
+ at Module.load (internal/modules/cjs/loader.js:950:32)
21
+ at Function.Module._load (internal/modules/cjs/loader.js:790:14)
22
+ at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
23
+ at internal/main/run_main_module.js:17:47
24
+
25
+ 2021-07-13T12:58:22.994Z
26
+ TypeError: Cannot read property 'tick' of undefined
27
+ at exportHandler (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\export.js:37:49)
28
+ at dbml2sql (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\index.js:19:3)
29
+ at Object.<anonymous> (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\__test__\dbml2sql_bin.js:5:1)
30
+ at Module._compile (internal/modules/cjs/loader.js:1085:14)
31
+ at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
32
+ at Module.load (internal/modules/cjs/loader.js:950:32)
33
+ at Function.Module._load (internal/modules/cjs/loader.js:790:14)
34
+ at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
35
+ at internal/main/run_main_module.js:17:47
36
+
@@ -56,6 +56,10 @@ CREATE TABLE "countries" (
56
56
  "continent_name" varchar
57
57
  );
58
58
 
59
+ CREATE INDEX "product_status" ON "products" ("merchant_id", "status");
60
+
61
+ CREATE UNIQUE INDEX ON "products" USING HASH ("id");
62
+
59
63
  ALTER TABLE "order_items" ADD FOREIGN KEY ("order_id") REFERENCES "orders" ("id");
60
64
 
61
65
  ALTER TABLE "order_items" ADD FOREIGN KEY ("product_id") REFERENCES "products" ("id");
@@ -67,7 +71,3 @@ ALTER TABLE "merchants" ADD FOREIGN KEY ("country_code") REFERENCES "countries"
67
71
  ALTER TABLE "products" ADD FOREIGN KEY ("merchant_id") REFERENCES "merchants" ("id");
68
72
 
69
73
  ALTER TABLE "merchants" ADD FOREIGN KEY ("admin_id") REFERENCES "users" ("id");
70
-
71
- CREATE INDEX "product_status" ON "products" ("merchant_id", "status");
72
-
73
- CREATE UNIQUE INDEX ON "products" USING HASH ("id");
@@ -0,0 +1,77 @@
1
+ -- SQL dump generated using DBML (dbml-lang.org)
2
+ -- Database: PostgreSQL
3
+ -- Generated at: 2022-03-08T03:40:38.041Z
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" SERIAL 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");
68
+
69
+ ALTER TABLE "order_items" ADD FOREIGN KEY ("product_id") REFERENCES "products" ("id");
70
+
71
+ ALTER TABLE "users" ADD FOREIGN KEY ("country_code") REFERENCES "countries" ("code");
72
+
73
+ ALTER TABLE "merchants" ADD FOREIGN KEY ("country_code") REFERENCES "countries" ("code");
74
+
75
+ ALTER TABLE "products" ADD FOREIGN KEY ("merchant_id") REFERENCES "merchants" ("id");
76
+
77
+ ALTER TABLE "merchants" ADD FOREIGN KEY ("admin_id") REFERENCES "users" ("id");
@@ -0,0 +1,24 @@
1
+ 2021-07-13T12:37:44.406Z
2
+ TypeError: Cannot read property 'tick' of undefined
3
+ at exportHandler (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\export.js:37:56)
4
+ at dbml2sql (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\index.js:19:3)
5
+ at Object.<anonymous> (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\__test__\dbml2sql_bin.js:5:1)
6
+ at Module._compile (internal/modules/cjs/loader.js:1085:14)
7
+ at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
8
+ at Module.load (internal/modules/cjs/loader.js:950:32)
9
+ at Function.Module._load (internal/modules/cjs/loader.js:790:14)
10
+ at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
11
+ at internal/main/run_main_module.js:17:47
12
+
13
+ 2021-07-13T12:58:23.999Z
14
+ TypeError: Cannot read property 'tick' of undefined
15
+ at exportHandler (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\export.js:37:49)
16
+ at dbml2sql (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\index.js:19:3)
17
+ at Object.<anonymous> (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\__test__\dbml2sql_bin.js:5:1)
18
+ at Module._compile (internal/modules/cjs/loader.js:1085:14)
19
+ at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
20
+ at Module.load (internal/modules/cjs/loader.js:950:32)
21
+ at Function.Module._load (internal/modules/cjs/loader.js:790:14)
22
+ at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
23
+ at internal/main/run_main_module.js:17:47
24
+
@@ -56,6 +56,10 @@ CREATE TABLE "countries" (
56
56
  "continent_name" varchar
57
57
  );
58
58
 
59
+ CREATE INDEX "product_status" ON "products" ("merchant_id", "status");
60
+
61
+ CREATE UNIQUE INDEX ON "products" USING HASH ("id");
62
+
59
63
  ALTER TABLE "order_items" ADD FOREIGN KEY ("order_id") REFERENCES "orders" ("id");
60
64
 
61
65
  ALTER TABLE "order_items" ADD FOREIGN KEY ("product_id") REFERENCES "products" ("id");
@@ -67,7 +71,3 @@ ALTER TABLE "merchants" ADD FOREIGN KEY ("country_code") REFERENCES "countries"
67
71
  ALTER TABLE "products" ADD FOREIGN KEY ("merchant_id") REFERENCES "merchants" ("id");
68
72
 
69
73
  ALTER TABLE "merchants" ADD FOREIGN KEY ("admin_id") REFERENCES "users" ("id");
70
-
71
- CREATE INDEX "product_status" ON "products" ("merchant_id", "status");
72
-
73
- CREATE UNIQUE INDEX ON "products" USING HASH ("id");
@@ -0,0 +1,77 @@
1
+ -- SQL dump generated using DBML (dbml-lang.org)
2
+ -- Database: PostgreSQL
3
+ -- Generated at: 2022-03-08T03:40:39.791Z
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" SERIAL 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");
68
+
69
+ ALTER TABLE "order_items" ADD FOREIGN KEY ("product_id") REFERENCES "products" ("id");
70
+
71
+ ALTER TABLE "users" ADD FOREIGN KEY ("country_code") REFERENCES "countries" ("code");
72
+
73
+ ALTER TABLE "merchants" ADD FOREIGN KEY ("country_code") REFERENCES "countries" ("code");
74
+
75
+ ALTER TABLE "products" ADD FOREIGN KEY ("merchant_id") REFERENCES "merchants" ("id");
76
+
77
+ ALTER TABLE "merchants" ADD FOREIGN KEY ("admin_id") REFERENCES "users" ("id");
@@ -56,6 +56,10 @@ CREATE TABLE "countries" (
56
56
  "continent_name" varchar
57
57
  );
58
58
 
59
+ CREATE INDEX "product_status" ON "products" ("merchant_id", "status");
60
+
61
+ CREATE UNIQUE INDEX ON "products" USING HASH ("id");
62
+
59
63
  ALTER TABLE "order_items" ADD FOREIGN KEY ("order_id") REFERENCES "orders" ("id");
60
64
 
61
65
  ALTER TABLE "order_items" ADD FOREIGN KEY ("product_id") REFERENCES "products" ("id");
@@ -68,7 +72,3 @@ ALTER TABLE "products" ADD FOREIGN KEY ("merchant_id") REFERENCES "merchants" ("
68
72
 
69
73
  ALTER TABLE "merchants" ADD FOREIGN KEY ("admin_id") REFERENCES "users" ("id");
70
74
 
71
- CREATE INDEX "product_status" ON "products" ("merchant_id", "status");
72
-
73
- CREATE UNIQUE INDEX ON "products" USING HASH ("id");
74
-
@@ -56,6 +56,10 @@ CREATE TABLE "countries" (
56
56
  "continent_name" varchar
57
57
  );
58
58
 
59
+ CREATE INDEX "product_status" ON "products" ("merchant_id", "status");
60
+
61
+ CREATE UNIQUE INDEX ON "products" USING HASH ("id");
62
+
59
63
  ALTER TABLE "order_items" ADD FOREIGN KEY ("order_id") REFERENCES "orders" ("id");
60
64
 
61
65
  ALTER TABLE "order_items" ADD FOREIGN KEY ("product_id") REFERENCES "products" ("id");
@@ -68,7 +72,3 @@ ALTER TABLE "products" ADD FOREIGN KEY ("merchant_id") REFERENCES "merchants" ("
68
72
 
69
73
  ALTER TABLE "merchants" ADD FOREIGN KEY ("admin_id") REFERENCES "users" ("id");
70
74
 
71
- CREATE INDEX "product_status" ON "products" ("merchant_id", "status");
72
-
73
- CREATE UNIQUE INDEX ON "products" USING HASH ("id");
74
-
@@ -0,0 +1,24 @@
1
+ 2021-07-13T12:37:47.900Z
2
+ TypeError: Cannot read property 'tick' of undefined
3
+ at exportHandler (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\export.js:37:56)
4
+ at dbml2sql (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\index.js:19:3)
5
+ at Object.<anonymous> (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\__test__\dbml2sql_bin.js:5:1)
6
+ at Module._compile (internal/modules/cjs/loader.js:1085:14)
7
+ at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
8
+ at Module.load (internal/modules/cjs/loader.js:950:32)
9
+ at Function.Module._load (internal/modules/cjs/loader.js:790:14)
10
+ at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
11
+ at internal/main/run_main_module.js:17:47
12
+
13
+ 2021-07-13T12:58:26.936Z
14
+ TypeError: Cannot read property 'tick' of undefined
15
+ at exportHandler (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\export.js:37:49)
16
+ at dbml2sql (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\index.js:19:3)
17
+ at Object.<anonymous> (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\__test__\dbml2sql_bin.js:5:1)
18
+ at Module._compile (internal/modules/cjs/loader.js:1085:14)
19
+ at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
20
+ at Module.load (internal/modules/cjs/loader.js:950:32)
21
+ at Function.Module._load (internal/modules/cjs/loader.js:790:14)
22
+ at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
23
+ at internal/main/run_main_module.js:17:47
24
+
@@ -84,13 +84,13 @@ CREATE TABLE `customer` (
84
84
  `last_update` timestamp
85
85
  );
86
86
 
87
+ CREATE INDEX `customer_index_0` ON `customer` (`id`, `first_name`) USING BTREE;
88
+
87
89
  ALTER TABLE `city` ADD FOREIGN KEY (`country_id`) REFERENCES `country` (`id`);
88
90
 
89
91
  ALTER TABLE `address` ADD FOREIGN KEY (`city_id`) REFERENCES `city` (`id`);
90
92
 
91
93
  ALTER TABLE `customer` ADD FOREIGN KEY (`address_id`) REFERENCES `address` (`id`);
92
-
93
- CREATE INDEX `customer_index_0` ON `customer` (`id`, `first_name`) USING BTREE;
94
94
  CREATE TABLE `category` (
95
95
  `id` int PRIMARY KEY,
96
96
  `name` varchar(255),