@dbml/cli 2.3.0 → 2.4.1

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 (85) 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 +5 -5
  5. package/__test__/dbml2sql/filename --mysql stdout/stdout.txt +4 -4
  6. package/__test__/dbml2sql/filename --out-file/dbml-error.log +36 -0
  7. package/__test__/dbml2sql/filename --out-file/expect-out-files/schema.sql +4 -4
  8. package/__test__/dbml2sql/filename --out-file/out-files/schema.sql +5 -5
  9. package/__test__/dbml2sql/filename --postgres --out-file/dbml-error.log +24 -0
  10. package/__test__/dbml2sql/filename --postgres --out-file/expect-out-files/schema.sql +4 -4
  11. package/__test__/dbml2sql/filename --postgres --out-file/out-files/schema.sql +5 -5
  12. package/__test__/dbml2sql/filename --postgres stdout/stdout.txt +4 -4
  13. package/__test__/dbml2sql/filename stdout/stdout.txt +4 -4
  14. package/__test__/dbml2sql/filenames --mysql --out-file/dbml-error.log +24 -0
  15. package/__test__/dbml2sql/filenames --mysql --out-file/expect-out-files/schema.sql +2 -2
  16. package/__test__/dbml2sql/filenames --mysql --out-file/out-files/schema.sql +3 -3
  17. package/__test__/dbml2sql/filenames --mysql stdout/stdout.txt +2 -2
  18. package/__test__/dbml2sql/filenames --out-file/dbml-error.log +24 -0
  19. package/__test__/dbml2sql/filenames --out-file/expect-out-files/schema.sql +2 -2
  20. package/__test__/dbml2sql/filenames --out-file/out-files/schema.sql +3 -3
  21. package/__test__/dbml2sql/filenames --postgres --out-file/dbml-error.log +24 -0
  22. package/__test__/dbml2sql/filenames --postgres --out-file/expect-out-files/schema.sql +2 -2
  23. package/__test__/dbml2sql/filenames --postgres --out-file/out-files/schema.sql +3 -3
  24. package/__test__/dbml2sql/filenames --postgres stdout/stdout.txt +2 -2
  25. package/__test__/dbml2sql/filenames stdout/stdout.txt +2 -2
  26. package/__test__/dbml2sql/multiple_schema_mssql/dbml-error.log +24 -0
  27. package/__test__/dbml2sql/multiple_schema_mssql/expect-out-files/multiple_schema.out.sql +58 -0
  28. package/__test__/dbml2sql/multiple_schema_mssql/in-files/multiple_schema.in.dbml +62 -0
  29. package/__test__/dbml2sql/multiple_schema_mssql/options.json +8 -0
  30. package/__test__/dbml2sql/multiple_schema_mssql/out-files/multiple_schema.out.sql +62 -0
  31. package/__test__/dbml2sql/multiple_schema_mssql/stdout.txt +1 -0
  32. package/__test__/dbml2sql/multiple_schema_mysql/dbml-error.log +24 -0
  33. package/__test__/dbml2sql/multiple_schema_mysql/expect-out-files/multiple_schema.out.sql +46 -0
  34. package/__test__/dbml2sql/multiple_schema_mysql/in-files/multiple_schema.in.dbml +62 -0
  35. package/__test__/dbml2sql/multiple_schema_mysql/options.json +8 -0
  36. package/__test__/dbml2sql/multiple_schema_mysql/out-files/multiple_schema.out.sql +50 -0
  37. package/__test__/dbml2sql/multiple_schema_mysql/stdout.txt +1 -0
  38. package/__test__/dbml2sql/multiple_schema_pg/dbml-error.log +24 -0
  39. package/__test__/dbml2sql/multiple_schema_pg/expect-out-files/multiple_schema.out.sql +63 -0
  40. package/__test__/dbml2sql/multiple_schema_pg/in-files/multiple_schema.in.dbml +62 -0
  41. package/__test__/dbml2sql/multiple_schema_pg/options.json +8 -0
  42. package/__test__/dbml2sql/multiple_schema_pg/out-files/multiple_schema.out.sql +67 -0
  43. package/__test__/dbml2sql/multiple_schema_pg/stdout.txt +1 -0
  44. package/__test__/dbml2sql/syntax-error/dbml-error.log +1774 -532
  45. package/__test__/sql2dbml/filename --mssql --out-file/dbml-error.log +51 -0
  46. package/__test__/sql2dbml/filename --mssql --out-file/expect-out-files/schema.dbml +25 -0
  47. package/__test__/sql2dbml/filename --mssql --out-file/in-files/schema.sql +20 -0
  48. package/__test__/sql2dbml/filename --mssql --out-file/options.json +8 -0
  49. package/__test__/sql2dbml/filename --mssql --out-file/out-files/schema.dbml +25 -0
  50. package/__test__/sql2dbml/filename --mssql --out-file/stdout.txt +1 -0
  51. package/__test__/sql2dbml/filename --mysql --out-file/dbml-error.log +24 -0
  52. package/__test__/sql2dbml/filename --out-file/dbml-error.log +24 -0
  53. package/__test__/sql2dbml/filename --postgres --out-file/dbml-error.log +24 -0
  54. package/__test__/sql2dbml/filenames --mysql --out-file/dbml-error.log +24 -0
  55. package/__test__/sql2dbml/filenames --out-file/dbml-error.log +24 -0
  56. package/__test__/sql2dbml/filenames --postgres --out-file/dbml-error.log +24 -0
  57. package/__test__/sql2dbml/multiple_schema_mssql/dbml-error.log +121 -0
  58. package/__test__/sql2dbml/multiple_schema_mssql/expect-out-files/multiple_schema.out.dbml +106 -0
  59. package/__test__/sql2dbml/multiple_schema_mssql/in-files/multiple_schema.in.sql +100 -0
  60. package/__test__/sql2dbml/multiple_schema_mssql/options.json +8 -0
  61. package/__test__/sql2dbml/multiple_schema_mssql/out-files/multiple_schema.out.dbml +106 -0
  62. package/__test__/sql2dbml/multiple_schema_mssql/stdout.txt +1 -0
  63. package/__test__/sql2dbml/multiple_schema_mysql/dbml-error.log +104 -0
  64. package/__test__/sql2dbml/multiple_schema_mysql/expect-out-files/multiple_schema.out.dbml +93 -0
  65. package/__test__/sql2dbml/multiple_schema_mysql/in-files/multiple_schema.in.sql +48 -0
  66. package/__test__/sql2dbml/multiple_schema_mysql/options.json +8 -0
  67. package/__test__/sql2dbml/multiple_schema_mysql/out-files/multiple_schema.out.dbml +93 -0
  68. package/__test__/sql2dbml/multiple_schema_mysql/stdout.txt +1 -0
  69. package/__test__/sql2dbml/multiple_schema_pg/dbml-error.log +131 -0
  70. package/__test__/sql2dbml/multiple_schema_pg/expect-out-files/multiple_schema.out.dbml +70 -0
  71. package/__test__/sql2dbml/multiple_schema_pg/in-files/multiple_schema.in.sql +77 -0
  72. package/__test__/sql2dbml/multiple_schema_pg/options.json +8 -0
  73. package/__test__/sql2dbml/multiple_schema_pg/out-files/multiple_schema.out.dbml +70 -0
  74. package/__test__/sql2dbml/multiple_schema_pg/stdout.txt +1 -0
  75. package/__test__/sql2dbml/syntax-error/dbml-error.log +1747 -532
  76. package/bin/dbml2sql.js +0 -0
  77. package/bin/sql2dbml.js +0 -0
  78. package/dbml-error.log +1142 -0
  79. package/lib/cli/export.js +1 -1
  80. package/lib/cli/import.js +1 -1
  81. package/lib/cli/index.js +1 -1
  82. package/package.json +4 -4
  83. package/src/cli/export.js +1 -1
  84. package/src/cli/import.js +1 -1
  85. package/src/cli/index.js +1 -0
@@ -0,0 +1,77 @@
1
+ CREATE SCHEMA "schemaB";
2
+
3
+ CREATE SCHEMA "ecommerce";
4
+
5
+ CREATE SCHEMA "schemaA";
6
+
7
+ CREATE TYPE "job_status" AS ENUM (
8
+ 'created2',
9
+ 'running2',
10
+ 'done2',
11
+ 'failure2'
12
+ );
13
+
14
+ CREATE TYPE "gender" AS ENUM (
15
+ 'male2',
16
+ 'female2'
17
+ );
18
+
19
+ CREATE TYPE "schemaB"."gender" AS ENUM (
20
+ 'male',
21
+ 'female'
22
+ );
23
+
24
+ CREATE TABLE "users" (
25
+ "id" int PRIMARY KEY,
26
+ "name" varchar,
27
+ "pjs" job_status,
28
+ "pjs2" job_status,
29
+ "pg" schemaB.gender,
30
+ "pg2" gender
31
+ );
32
+
33
+ CREATE TABLE "products" (
34
+ "id" int PRIMARY KEY,
35
+ "name" varchar
36
+ );
37
+
38
+ CREATE TABLE "ecommerce"."users" (
39
+ "id" int PRIMARY KEY,
40
+ "name" varchar,
41
+ "ejs" job_status,
42
+ "ejs2" job_status,
43
+ "eg" schemaB.gender,
44
+ "eg2" gender
45
+ );
46
+
47
+ CREATE TABLE "schemaA"."products" (
48
+ "id" int PRIMARY KEY,
49
+ "name" varchar,
50
+ "lid" int,
51
+ CONSTRAINT fk_1 FOREIGN KEY(lid) REFERENCES "schemaA"."locations"(id)
52
+ );
53
+
54
+ CREATE TABLE "schemaA"."locations" (
55
+ "id" int PRIMARY KEY,
56
+ "name" varchar
57
+ );
58
+
59
+ CREATE INDEX "product_status" ON "schemaA"."products" ("id", "name");
60
+
61
+ CREATE UNIQUE INDEX ON "products" USING HASH ("id");
62
+
63
+ COMMENT ON TABLE "schemaA"."locations" IS 'This is a note in table "locations"';
64
+
65
+ COMMENT ON TABLE "users" IS 'Sample note on table users';
66
+
67
+ COMMENT ON COLUMN "schemaA"."products"."name" IS 'Product name of schemaA';
68
+
69
+ COMMENT ON COLUMN "products"."name" IS 'Product name of table products in public schema';
70
+
71
+ ALTER TABLE "ecommerce"."users" ADD FOREIGN KEY ("id") REFERENCES "users" ("id");
72
+
73
+ ALTER TABLE "ecommerce"."users" ADD CONSTRAINT "name_optional" FOREIGN KEY ("id") REFERENCES "users" ("name");
74
+
75
+ ALTER TABLE "schemaA"."products" ADD FOREIGN KEY ("name") REFERENCES "ecommerce"."users" ("id");
76
+
77
+ ALTER TABLE "schemaA"."locations" ADD FOREIGN KEY ("name") REFERENCES "users" ("id");
@@ -0,0 +1,8 @@
1
+ {
2
+ "args": [
3
+ "./in-files/multiple_schema.in.sql",
4
+ "--postgres",
5
+ "-o",
6
+ "./out-files/multiple_schema.out.dbml"
7
+ ]
8
+ }
@@ -0,0 +1,70 @@
1
+ Enum "job_status" {
2
+ "created2"
3
+ "running2"
4
+ "done2"
5
+ "failure2"
6
+ }
7
+
8
+ Enum "gender" {
9
+ "male2"
10
+ "female2"
11
+ }
12
+
13
+ Table "users" {
14
+ "id" int [pk]
15
+ "name" varchar
16
+ "pjs" job_status
17
+ "pjs2" job_status
18
+ "pg" schemaB.gender
19
+ "pg2" gender
20
+ Note: 'Sample note on table users'
21
+ }
22
+
23
+ Table "products" {
24
+ "id" int [pk]
25
+ "name" varchar [note: 'Product name of table products in public schema']
26
+
27
+ Indexes {
28
+ id [type: hash, unique]
29
+ }
30
+ }
31
+
32
+ Ref:"schemaA"."locations"."id" < "schemaA"."products"."lid"
33
+
34
+ Ref:"users"."id" < "ecommerce"."users"."id"
35
+
36
+ Ref:"users"."name" < "ecommerce"."users"."id"
37
+
38
+ Ref:"ecommerce"."users"."id" < "schemaA"."products"."name"
39
+
40
+ Ref:"users"."id" < "schemaA"."locations"."name"
41
+
42
+ Enum "schemaB"."gender" {
43
+ "male"
44
+ "female"
45
+ }
46
+
47
+ Table "ecommerce"."users" {
48
+ "id" int [pk]
49
+ "name" varchar
50
+ "ejs" job_status
51
+ "ejs2" job_status
52
+ "eg" schemaB.gender
53
+ "eg2" gender
54
+ }
55
+
56
+ Table "schemaA"."products" {
57
+ "id" int [pk]
58
+ "name" varchar [note: 'Product name of schemaA']
59
+ "lid" int
60
+
61
+ Indexes {
62
+ (id, name) [name: "product_status"]
63
+ }
64
+ }
65
+
66
+ Table "schemaA"."locations" {
67
+ "id" int [pk]
68
+ "name" varchar
69
+ Note: 'This is a note in table "locations"'
70
+ }
@@ -0,0 +1 @@
1
+ ✔ Generated DBML file from SQL file (PostgreSQL): multiple_schema.out.dbml