@dbml/cli 3.6.2 → 3.7.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 (295) hide show
  1. package/.babelrc +0 -0
  2. package/LICENSE +0 -0
  3. package/README.md +0 -0
  4. package/__test__/cli.test.js +7 -1
  5. package/__test__/db2dbml/mssql/dbml-error.log +467 -0
  6. package/__test__/db2dbml/mssql/expect-out-files/schema.dbml +190 -0
  7. package/__test__/db2dbml/mssql/options.json +8 -0
  8. package/__test__/db2dbml/mssql/schema.sql +296 -0
  9. package/__test__/db2dbml/mssql/stdout.txt +1 -0
  10. package/__test__/db2dbml/mysql/dbml-error.log +281 -0
  11. package/__test__/db2dbml/mysql/expect-out-files/schema.dbml +180 -0
  12. package/__test__/db2dbml/mysql/options.json +8 -0
  13. package/__test__/db2dbml/mysql/out-files/schema.dbml +180 -0
  14. package/__test__/db2dbml/mysql/schema.sql +141 -0
  15. package/__test__/db2dbml/mysql/stdout.txt +1 -0
  16. package/__test__/db2dbml/postgres/dbml-error.log +252 -0
  17. package/__test__/db2dbml/postgres/expect-out-files/schema.dbml +140 -0
  18. package/__test__/db2dbml/postgres/options.json +8 -0
  19. package/__test__/db2dbml/postgres/out-files/schema.dbml +140 -0
  20. package/__test__/db2dbml/postgres/schema.sql +156 -0
  21. package/__test__/db2dbml/postgres/stdout.txt +1 -0
  22. package/__test__/db2dbml_bin.js +5 -0
  23. package/__test__/dbml2sql/filename --mysql --out-file/dbml-error.log +0 -36
  24. package/__test__/dbml2sql/filename --mysql --out-file/expect-out-files/schema.sql +0 -0
  25. package/__test__/dbml2sql/filename --mysql --out-file/in-files/schema.dbml +0 -0
  26. package/__test__/dbml2sql/filename --mysql --out-file/options.json +0 -0
  27. package/__test__/dbml2sql/filename --mysql --out-file/out-files/schema.sql +1 -1
  28. package/__test__/dbml2sql/filename --mysql --out-file/stdout.txt +0 -0
  29. package/__test__/dbml2sql/filename --mysql stdout/dbml-error.log +0 -0
  30. package/__test__/dbml2sql/filename --mysql stdout/in-files/schema.dbml +0 -0
  31. package/__test__/dbml2sql/filename --mysql stdout/options.json +0 -0
  32. package/__test__/dbml2sql/filename --mysql stdout/stdout.txt +0 -0
  33. package/__test__/dbml2sql/filename --oracle --out-file/dbml-error.log +0 -0
  34. package/__test__/dbml2sql/filename --oracle --out-file/expect-out-files/schema.sql +0 -0
  35. package/__test__/dbml2sql/filename --oracle --out-file/in-files/schema.dbml +0 -0
  36. package/__test__/dbml2sql/filename --oracle --out-file/options.json +0 -0
  37. package/__test__/dbml2sql/filename --oracle --out-file/out-files/schema.sql +1 -1
  38. package/__test__/dbml2sql/filename --oracle --out-file/stdout.txt +0 -0
  39. package/__test__/dbml2sql/filename --oracle stdout/dbml-error.log +0 -0
  40. package/__test__/dbml2sql/filename --oracle stdout/in-files/schema.dbml +0 -0
  41. package/__test__/dbml2sql/filename --oracle stdout/options.json +0 -0
  42. package/__test__/dbml2sql/filename --oracle stdout/stdout.txt +0 -0
  43. package/__test__/dbml2sql/filename --out-file/dbml-error.log +0 -36
  44. package/__test__/dbml2sql/filename --out-file/expect-out-files/schema.sql +0 -0
  45. package/__test__/dbml2sql/filename --out-file/in-files/schema.dbml +0 -0
  46. package/__test__/dbml2sql/filename --out-file/options.json +0 -0
  47. package/__test__/dbml2sql/filename --out-file/out-files/schema.sql +1 -1
  48. package/__test__/dbml2sql/filename --out-file/stdout.txt +0 -0
  49. package/__test__/dbml2sql/filename --postgres --out-file/dbml-error.log +0 -24
  50. package/__test__/dbml2sql/filename --postgres --out-file/expect-out-files/schema.sql +0 -0
  51. package/__test__/dbml2sql/filename --postgres --out-file/in-files/schema.dbml +0 -0
  52. package/__test__/dbml2sql/filename --postgres --out-file/options.json +0 -0
  53. package/__test__/dbml2sql/filename --postgres --out-file/out-files/schema.sql +1 -1
  54. package/__test__/dbml2sql/filename --postgres --out-file/stdout.txt +0 -0
  55. package/__test__/dbml2sql/filename --postgres stdout/dbml-error.log +0 -0
  56. package/__test__/dbml2sql/filename --postgres stdout/in-files/schema.dbml +0 -0
  57. package/__test__/dbml2sql/filename --postgres stdout/options.json +0 -0
  58. package/__test__/dbml2sql/filename --postgres stdout/stdout.txt +0 -0
  59. package/__test__/dbml2sql/filename stdout/dbml-error.log +0 -0
  60. package/__test__/dbml2sql/filename stdout/in-files/schema.dbml +0 -0
  61. package/__test__/dbml2sql/filename stdout/options.json +0 -0
  62. package/__test__/dbml2sql/filename stdout/stdout.txt +0 -0
  63. package/__test__/dbml2sql/filenames --mysql --out-file/dbml-error.log +0 -24
  64. package/__test__/dbml2sql/filenames --mysql --out-file/expect-out-files/schema.sql +0 -0
  65. package/__test__/dbml2sql/filenames --mysql --out-file/in-files/business.dbml +0 -0
  66. package/__test__/dbml2sql/filenames --mysql --out-file/in-files/customer.dbml +0 -0
  67. package/__test__/dbml2sql/filenames --mysql --out-file/in-files/inventory.dbml +0 -0
  68. package/__test__/dbml2sql/filenames --mysql --out-file/options.json +0 -0
  69. package/__test__/dbml2sql/filenames --mysql --out-file/out-files/schema.sql +1 -1
  70. package/__test__/dbml2sql/filenames --mysql --out-file/stdout.txt +0 -0
  71. package/__test__/dbml2sql/filenames --mysql stdout/dbml-error.log +0 -0
  72. package/__test__/dbml2sql/filenames --mysql stdout/in-files/business.dbml +0 -0
  73. package/__test__/dbml2sql/filenames --mysql stdout/in-files/customer.dbml +0 -0
  74. package/__test__/dbml2sql/filenames --mysql stdout/in-files/inventory.dbml +0 -0
  75. package/__test__/dbml2sql/filenames --mysql stdout/options.json +0 -0
  76. package/__test__/dbml2sql/filenames --mysql stdout/stdout.txt +0 -0
  77. package/__test__/dbml2sql/filenames --oracle --out-file/dbml-error.log +0 -0
  78. package/__test__/dbml2sql/filenames --oracle --out-file/expect-out-files/schema.sql +0 -0
  79. package/__test__/dbml2sql/filenames --oracle --out-file/in-files/business.dbml +0 -0
  80. package/__test__/dbml2sql/filenames --oracle --out-file/in-files/customer.dbml +0 -0
  81. package/__test__/dbml2sql/filenames --oracle --out-file/in-files/inventory.dbml +0 -0
  82. package/__test__/dbml2sql/filenames --oracle --out-file/options.json +0 -0
  83. package/__test__/dbml2sql/filenames --oracle --out-file/out-files/schema.sql +1 -1
  84. package/__test__/dbml2sql/filenames --oracle --out-file/stdout.txt +0 -0
  85. package/__test__/dbml2sql/filenames --oracle stdout/dbml-error.log +0 -0
  86. package/__test__/dbml2sql/filenames --oracle stdout/in-files/business.dbml +0 -0
  87. package/__test__/dbml2sql/filenames --oracle stdout/in-files/customer.dbml +0 -0
  88. package/__test__/dbml2sql/filenames --oracle stdout/in-files/inventory.dbml +0 -0
  89. package/__test__/dbml2sql/filenames --oracle stdout/options.json +0 -0
  90. package/__test__/dbml2sql/filenames --oracle stdout/stdout.txt +0 -0
  91. package/__test__/dbml2sql/filenames --out-file/dbml-error.log +0 -24
  92. package/__test__/dbml2sql/filenames --out-file/expect-out-files/schema.sql +0 -0
  93. package/__test__/dbml2sql/filenames --out-file/in-files/business.dbml +0 -0
  94. package/__test__/dbml2sql/filenames --out-file/in-files/customer.dbml +0 -0
  95. package/__test__/dbml2sql/filenames --out-file/in-files/inventory.dbml +0 -0
  96. package/__test__/dbml2sql/filenames --out-file/options.json +0 -0
  97. package/__test__/dbml2sql/filenames --out-file/out-files/schema.sql +1 -1
  98. package/__test__/dbml2sql/filenames --out-file/stdout.txt +0 -0
  99. package/__test__/dbml2sql/filenames --postgres --out-file/dbml-error.log +0 -24
  100. package/__test__/dbml2sql/filenames --postgres --out-file/expect-out-files/schema.sql +0 -0
  101. package/__test__/dbml2sql/filenames --postgres --out-file/in-files/business.dbml +0 -0
  102. package/__test__/dbml2sql/filenames --postgres --out-file/in-files/customer.dbml +0 -0
  103. package/__test__/dbml2sql/filenames --postgres --out-file/in-files/inventory.dbml +0 -0
  104. package/__test__/dbml2sql/filenames --postgres --out-file/options.json +0 -0
  105. package/__test__/dbml2sql/filenames --postgres --out-file/out-files/schema.sql +1 -1
  106. package/__test__/dbml2sql/filenames --postgres --out-file/stdout.txt +0 -0
  107. package/__test__/dbml2sql/filenames --postgres stdout/dbml-error.log +0 -0
  108. package/__test__/dbml2sql/filenames --postgres stdout/in-files/business.dbml +0 -0
  109. package/__test__/dbml2sql/filenames --postgres stdout/in-files/customer.dbml +0 -0
  110. package/__test__/dbml2sql/filenames --postgres stdout/in-files/inventory.dbml +0 -0
  111. package/__test__/dbml2sql/filenames --postgres stdout/options.json +0 -0
  112. package/__test__/dbml2sql/filenames --postgres stdout/stdout.txt +0 -0
  113. package/__test__/dbml2sql/filenames stdout/dbml-error.log +0 -0
  114. package/__test__/dbml2sql/filenames stdout/in-files/business.dbml +0 -0
  115. package/__test__/dbml2sql/filenames stdout/in-files/customer.dbml +0 -0
  116. package/__test__/dbml2sql/filenames stdout/in-files/inventory.dbml +0 -0
  117. package/__test__/dbml2sql/filenames stdout/options.json +0 -0
  118. package/__test__/dbml2sql/filenames stdout/stdout.txt +0 -0
  119. package/__test__/dbml2sql/multiple_schema_mssql/dbml-error.log +0 -24
  120. package/__test__/dbml2sql/multiple_schema_mssql/expect-out-files/multiple_schema.out.sql +0 -0
  121. package/__test__/dbml2sql/multiple_schema_mssql/in-files/multiple_schema.in.dbml +0 -0
  122. package/__test__/dbml2sql/multiple_schema_mssql/options.json +0 -0
  123. package/__test__/dbml2sql/multiple_schema_mssql/out-files/multiple_schema.out.sql +1 -1
  124. package/__test__/dbml2sql/multiple_schema_mssql/stdout.txt +0 -0
  125. package/__test__/dbml2sql/multiple_schema_mysql/dbml-error.log +0 -24
  126. package/__test__/dbml2sql/multiple_schema_mysql/expect-out-files/multiple_schema.out.sql +0 -0
  127. package/__test__/dbml2sql/multiple_schema_mysql/in-files/multiple_schema.in.dbml +0 -0
  128. package/__test__/dbml2sql/multiple_schema_mysql/options.json +0 -0
  129. package/__test__/dbml2sql/multiple_schema_mysql/out-files/multiple_schema.out.sql +1 -1
  130. package/__test__/dbml2sql/multiple_schema_mysql/stdout.txt +0 -0
  131. package/__test__/dbml2sql/multiple_schema_oracle/dbml-error.log +0 -0
  132. package/__test__/dbml2sql/multiple_schema_oracle/expect-out-files/multiple_schema.out.sql +0 -0
  133. package/__test__/dbml2sql/multiple_schema_oracle/in-files/multiple_schema.in.dbml +0 -0
  134. package/__test__/dbml2sql/multiple_schema_oracle/options.json +0 -0
  135. package/__test__/dbml2sql/multiple_schema_oracle/out-files/multiple_schema.out.sql +1 -1
  136. package/__test__/dbml2sql/multiple_schema_oracle/stdout.txt +0 -0
  137. package/__test__/dbml2sql/multiple_schema_pg/dbml-error.log +0 -24
  138. package/__test__/dbml2sql/multiple_schema_pg/expect-out-files/multiple_schema.out.sql +0 -0
  139. package/__test__/dbml2sql/multiple_schema_pg/in-files/multiple_schema.in.dbml +0 -0
  140. package/__test__/dbml2sql/multiple_schema_pg/options.json +0 -0
  141. package/__test__/dbml2sql/multiple_schema_pg/out-files/multiple_schema.out.sql +1 -1
  142. package/__test__/dbml2sql/multiple_schema_pg/stdout.txt +0 -0
  143. package/__test__/dbml2sql/syntax-error/dbml-error.log +7 -2104
  144. package/__test__/dbml2sql/syntax-error/in-files/ecommerce.dbml +0 -0
  145. package/__test__/dbml2sql/syntax-error/options.json +0 -0
  146. package/__test__/dbml2sql/syntax-error/stdout.txt +0 -0
  147. package/__test__/dbml2sql_bin.js +0 -0
  148. package/__test__/sql2dbml/filename --mssql --out-file/dbml-error.log +0 -51
  149. package/__test__/sql2dbml/filename --mssql --out-file/expect-out-files/schema.dbml +0 -0
  150. package/__test__/sql2dbml/filename --mssql --out-file/in-files/schema.sql +0 -0
  151. package/__test__/sql2dbml/filename --mssql --out-file/options.json +0 -0
  152. package/__test__/sql2dbml/filename --mssql --out-file/out-files/schema.dbml +0 -0
  153. package/__test__/sql2dbml/filename --mssql --out-file/stdout.txt +0 -0
  154. package/__test__/sql2dbml/filename --mysql --out-file/dbml-error.log +0 -24
  155. package/__test__/sql2dbml/filename --mysql --out-file/expect-out-files/schema.dbml +0 -0
  156. package/__test__/sql2dbml/filename --mysql --out-file/in-files/schema.sql +0 -0
  157. package/__test__/sql2dbml/filename --mysql --out-file/options.json +0 -0
  158. package/__test__/sql2dbml/filename --mysql --out-file/out-files/schema.dbml +0 -0
  159. package/__test__/sql2dbml/filename --mysql --out-file/stdout.txt +0 -0
  160. package/__test__/sql2dbml/filename --mysql stdout/dbml-error.log +0 -0
  161. package/__test__/sql2dbml/filename --mysql stdout/in-files/schema.sql +0 -0
  162. package/__test__/sql2dbml/filename --mysql stdout/options.json +0 -0
  163. package/__test__/sql2dbml/filename --mysql stdout/stdout.txt +0 -0
  164. package/__test__/sql2dbml/filename --out-file/dbml-error.log +0 -24
  165. package/__test__/sql2dbml/filename --out-file/expect-out-files/schema.dbml +0 -0
  166. package/__test__/sql2dbml/filename --out-file/in-files/schema.sql +0 -0
  167. package/__test__/sql2dbml/filename --out-file/options.json +0 -0
  168. package/__test__/sql2dbml/filename --out-file/out-files/schema.dbml +0 -0
  169. package/__test__/sql2dbml/filename --out-file/stdout.txt +0 -0
  170. package/__test__/sql2dbml/filename --postgres --out-file/dbml-error.log +0 -24
  171. package/__test__/sql2dbml/filename --postgres --out-file/expect-out-files/schema.dbml +0 -0
  172. package/__test__/sql2dbml/filename --postgres --out-file/in-files/schema.sql +0 -0
  173. package/__test__/sql2dbml/filename --postgres --out-file/options.json +0 -0
  174. package/__test__/sql2dbml/filename --postgres --out-file/out-files/schema.dbml +0 -0
  175. package/__test__/sql2dbml/filename --postgres --out-file/stdout.txt +0 -0
  176. package/__test__/sql2dbml/filename --postgres stdout/dbml-error.log +0 -0
  177. package/__test__/sql2dbml/filename --postgres stdout/in-files/schema.sql +0 -0
  178. package/__test__/sql2dbml/filename --postgres stdout/options.json +0 -0
  179. package/__test__/sql2dbml/filename --postgres stdout/stdout.txt +0 -0
  180. package/__test__/sql2dbml/filename --snowflake stdout/dbml-error.log +0 -54
  181. package/__test__/sql2dbml/filename --snowflake stdout/in-files/schema.sql +0 -0
  182. package/__test__/sql2dbml/filename --snowflake stdout/options.json +0 -0
  183. package/__test__/sql2dbml/filename --snowflake stdout/stdout.txt +6 -6
  184. package/__test__/sql2dbml/filename stdout/dbml-error.log +0 -0
  185. package/__test__/sql2dbml/filename stdout/in-files/schema.sql +0 -0
  186. package/__test__/sql2dbml/filename stdout/options.json +0 -0
  187. package/__test__/sql2dbml/filename stdout/stdout.txt +0 -0
  188. package/__test__/sql2dbml/filenames --mysql --out-file/dbml-error.log +0 -24
  189. package/__test__/sql2dbml/filenames --mysql --out-file/expect-out-files/schema.dbml +0 -0
  190. package/__test__/sql2dbml/filenames --mysql --out-file/in-files/business.sql +0 -0
  191. package/__test__/sql2dbml/filenames --mysql --out-file/in-files/customer.sql +0 -0
  192. package/__test__/sql2dbml/filenames --mysql --out-file/in-files/inventory.sql +0 -0
  193. package/__test__/sql2dbml/filenames --mysql --out-file/options.json +0 -0
  194. package/__test__/sql2dbml/filenames --mysql --out-file/out-files/schema.dbml +0 -0
  195. package/__test__/sql2dbml/filenames --mysql --out-file/stdout.txt +0 -0
  196. package/__test__/sql2dbml/filenames --mysql stdout/dbml-error.log +0 -0
  197. package/__test__/sql2dbml/filenames --mysql stdout/in-files/business.sql +0 -0
  198. package/__test__/sql2dbml/filenames --mysql stdout/in-files/customer.sql +0 -0
  199. package/__test__/sql2dbml/filenames --mysql stdout/in-files/inventory.sql +0 -0
  200. package/__test__/sql2dbml/filenames --mysql stdout/options.json +0 -0
  201. package/__test__/sql2dbml/filenames --mysql stdout/stdout.txt +0 -0
  202. package/__test__/sql2dbml/filenames --out-file/dbml-error.log +0 -24
  203. package/__test__/sql2dbml/filenames --out-file/expect-out-files/schema.dbml +0 -0
  204. package/__test__/sql2dbml/filenames --out-file/in-files/business.sql +0 -0
  205. package/__test__/sql2dbml/filenames --out-file/in-files/customer.sql +0 -0
  206. package/__test__/sql2dbml/filenames --out-file/in-files/inventory.sql +0 -0
  207. package/__test__/sql2dbml/filenames --out-file/options.json +0 -0
  208. package/__test__/sql2dbml/filenames --out-file/out-files/schema.dbml +0 -0
  209. package/__test__/sql2dbml/filenames --out-file/stdout.txt +0 -0
  210. package/__test__/sql2dbml/filenames --postgres --out-file/dbml-error.log +0 -24
  211. package/__test__/sql2dbml/filenames --postgres --out-file/expect-out-files/schema.dbml +0 -0
  212. package/__test__/sql2dbml/filenames --postgres --out-file/in-files/business.sql +0 -0
  213. package/__test__/sql2dbml/filenames --postgres --out-file/in-files/customer.sql +0 -0
  214. package/__test__/sql2dbml/filenames --postgres --out-file/in-files/inventory.sql +0 -0
  215. package/__test__/sql2dbml/filenames --postgres --out-file/options.json +0 -0
  216. package/__test__/sql2dbml/filenames --postgres --out-file/out-files/schema.dbml +0 -0
  217. package/__test__/sql2dbml/filenames --postgres --out-file/stdout.txt +0 -0
  218. package/__test__/sql2dbml/filenames --postgres stdout/dbml-error.log +0 -0
  219. package/__test__/sql2dbml/filenames --postgres stdout/in-files/business.sql +0 -0
  220. package/__test__/sql2dbml/filenames --postgres stdout/in-files/customer.sql +0 -0
  221. package/__test__/sql2dbml/filenames --postgres stdout/in-files/inventory.sql +0 -0
  222. package/__test__/sql2dbml/filenames --postgres stdout/options.json +0 -0
  223. package/__test__/sql2dbml/filenames --postgres stdout/stdout.txt +0 -0
  224. package/__test__/sql2dbml/filenames stdout/dbml-error.log +0 -0
  225. package/__test__/sql2dbml/filenames stdout/in-files/business.sql +0 -0
  226. package/__test__/sql2dbml/filenames stdout/in-files/customer.sql +0 -0
  227. package/__test__/sql2dbml/filenames stdout/in-files/inventory.sql +0 -0
  228. package/__test__/sql2dbml/filenames stdout/options.json +0 -0
  229. package/__test__/sql2dbml/filenames stdout/stdout.txt +0 -0
  230. package/__test__/sql2dbml/multiple_schema_mssql/dbml-error.log +0 -121
  231. package/__test__/sql2dbml/multiple_schema_mssql/expect-out-files/multiple_schema.out.dbml +0 -0
  232. package/__test__/sql2dbml/multiple_schema_mssql/in-files/multiple_schema.in.sql +0 -0
  233. package/__test__/sql2dbml/multiple_schema_mssql/options.json +0 -0
  234. package/__test__/sql2dbml/multiple_schema_mssql/out-files/multiple_schema.out.dbml +0 -0
  235. package/__test__/sql2dbml/multiple_schema_mssql/stdout.txt +0 -0
  236. package/__test__/sql2dbml/multiple_schema_mysql/dbml-error.log +0 -104
  237. package/__test__/sql2dbml/multiple_schema_mysql/expect-out-files/multiple_schema.out.dbml +0 -0
  238. package/__test__/sql2dbml/multiple_schema_mysql/in-files/multiple_schema.in.sql +0 -0
  239. package/__test__/sql2dbml/multiple_schema_mysql/options.json +0 -0
  240. package/__test__/sql2dbml/multiple_schema_mysql/out-files/multiple_schema.out.dbml +0 -0
  241. package/__test__/sql2dbml/multiple_schema_mysql/stdout.txt +0 -0
  242. package/__test__/sql2dbml/multiple_schema_pg/dbml-error.log +0 -131
  243. package/__test__/sql2dbml/multiple_schema_pg/expect-out-files/multiple_schema.out.dbml +0 -0
  244. package/__test__/sql2dbml/multiple_schema_pg/in-files/multiple_schema.in.sql +0 -0
  245. package/__test__/sql2dbml/multiple_schema_pg/options.json +0 -0
  246. package/__test__/sql2dbml/multiple_schema_pg/out-files/multiple_schema.out.dbml +0 -0
  247. package/__test__/sql2dbml/multiple_schema_pg/stdout.txt +0 -0
  248. package/__test__/sql2dbml/syntax-error/dbml-error.log +7 -2077
  249. package/__test__/sql2dbml/syntax-error/in-files/business.sql +0 -0
  250. package/__test__/sql2dbml/syntax-error/options.json +0 -0
  251. package/__test__/sql2dbml/syntax-error/stdout.txt +0 -0
  252. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mssql/dbml-error.log +9 -27
  253. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mssql/in-files/schema.sql +0 -0
  254. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mssql/options.json +0 -0
  255. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mssql/stdout.txt +0 -0
  256. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mysql/dbml-error.log +7 -28
  257. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mysql/in-files/schema.sql +0 -0
  258. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mysql/options.json +0 -0
  259. package/__test__/sql2dbml/syntax-error-duplicate-endpoints --mysql/stdout.txt +0 -0
  260. package/__test__/sql2dbml_bin.js +0 -0
  261. package/bin/db2dbml.js +4 -0
  262. package/dbml-error.log +52 -279
  263. package/jestHelpers.js +0 -0
  264. package/lib/cli/config.js +0 -0
  265. package/lib/cli/connector.js +6 -7
  266. package/lib/cli/export.js +0 -0
  267. package/lib/cli/import.js +0 -0
  268. package/lib/cli/index.js +28 -0
  269. package/lib/cli/outputPlugins/outputConsolePlugin.js +0 -0
  270. package/lib/cli/outputPlugins/outputFilePlugin.js +0 -0
  271. package/lib/cli/utils.js +20 -0
  272. package/lib/cli/validatePlugins/validatePlugins.js +0 -0
  273. package/lib/connectors/Connector.js +19 -0
  274. package/lib/connectors/MssqlConnector.js +483 -0
  275. package/lib/connectors/PostgresConnector.js +450 -0
  276. package/lib/errors/domainError.js +0 -0
  277. package/lib/errors/index.js +0 -0
  278. package/lib/errors/syntaxError.js +0 -0
  279. package/lib/helpers/logger.js +0 -0
  280. package/lib/index.js +6 -0
  281. package/package.json +5 -4
  282. package/src/cli/config.js +0 -0
  283. package/src/cli/connector.js +31 -0
  284. package/src/cli/export.js +0 -0
  285. package/src/cli/import.js +0 -0
  286. package/src/cli/index.js +35 -0
  287. package/src/cli/outputPlugins/outputConsolePlugin.js +0 -0
  288. package/src/cli/outputPlugins/outputFilePlugin.js +0 -0
  289. package/src/cli/utils.js +23 -0
  290. package/src/cli/validatePlugins/validatePlugins.js +0 -0
  291. package/src/errors/domainError.js +0 -0
  292. package/src/errors/index.js +0 -0
  293. package/src/errors/syntaxError.js +0 -0
  294. package/src/helpers/logger.js +0 -0
  295. package/src/index.js +2 -1
File without changes
File without changes
@@ -1,30 +1,12 @@
1
- 2023-02-16T07:17:56.900Z
2
- SyntaxError: You have a syntax error at "schema.sql" line 17 column 25. Reference with the same endpoints already exists: "student"("subject_id", "score_id") references "score_subject"("subject_id", "score_id")
3
- at C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\utils.js:42:13
4
- at Array.forEach (<anonymous>)
5
- at generate (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\utils.js:36:14)
6
- at importHandler (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\import.js:26:7)
7
- at sql2dbml (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\index.js:35:3)
8
- at Object.<anonymous> (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\__test__\sql2dbml_bin.js:5:1)
9
- at Module._compile (node:internal/modules/cjs/loader:1155:14)
10
- at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)
11
- at Module.load (node:internal/modules/cjs/loader:1033:32)
12
- at Function.Module._load (node:internal/modules/cjs/loader:868:12)
1
+ 2024-06-12T04:32:03.669Z
2
+ undefined
3
+
4
+ 2024-08-09T00:05:09.476Z
5
+ undefined
6
+
7
+ 2024-08-09T03:08:09.208Z
8
+ undefined
13
9
 
14
- ROOT_ERROR:
15
- Error: Reference with the same endpoints already exists: "student"("subject_id", "score_id") references "score_subject"("subject_id", "score_id")
16
- at Ref.error (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\model_structure\element.js:77:13)
17
- at Schema.checkRef (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\model_structure\schema.js:194:13)
18
- at Schema.pushRef (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\model_structure\schema.js:179:12)
19
- at C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\model_structure\database.js:174:20
20
- at Array.forEach (<anonymous>)
21
- at Database.processSchemaElements (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\model_structure\database.js:144:16)
22
- at new Database (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\model_structure\database.js:100:11)
23
- at Function.parseJSONToDatabase (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\parse\Parser.js:38:22)
24
- at Function.parse (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\parse\Parser.js:105:27)
25
- at Object._import [as import] (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\import\index.js:15:37)
26
- {"start":{"offset":407,"line":17,"column":25},"end":{"offset":488,"line":17,"column":106}}
27
-
28
- 2024-07-16T09:31:19.875Z
10
+ 2024-08-11T02:28:23.316Z
29
11
  undefined
30
12
 
@@ -1,33 +1,12 @@
1
- 2023-02-16T07:17:58.566Z
2
- SyntaxError: You have a syntax error at "schema.sql" line 1 column 1. Reference with the same endpoints already exists: "student"("subject_id", "score_id") references "score_subject"("subject_id", "score_id")
3
- at C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\utils.js:42:13
4
- at Array.forEach (<anonymous>)
5
- at generate (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\utils.js:36:14)
6
- at importHandler (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\import.js:26:7)
7
- at sql2dbml (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\src\cli\index.js:35:3)
8
- at Object.<anonymous> (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\__test__\sql2dbml_bin.js:5:1)
9
- at Module._compile (node:internal/modules/cjs/loader:1155:14)
10
- at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)
11
- at Module.load (node:internal/modules/cjs/loader:1033:32)
12
- at Function.Module._load (node:internal/modules/cjs/loader:868:12)
1
+ 2024-06-12T04:32:04.090Z
2
+ undefined
3
+
4
+ 2024-08-09T00:05:09.972Z
5
+ undefined
13
6
 
14
- ROOT_ERROR:
15
- Error: Reference with the same endpoints already exists: "student"("subject_id", "score_id") references "score_subject"("subject_id", "score_id")
16
- at Ref.error (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\model_structure\element.js:77:13)
17
- at Schema.checkRef (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\model_structure\schema.js:194:13)
18
- at Schema.pushRef (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\model_structure\schema.js:179:12)
19
- at C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\model_structure\database.js:174:20
20
- at Array.forEach (<anonymous>)
21
- at Database.processSchemaElements (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\model_structure\database.js:144:16)
22
- at new Database (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\model_structure\database.js:100:11)
23
- at Function.parseJSONToDatabase (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\parse\Parser.js:38:22)
24
- at Function.parse (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\parse\Parser.js:105:27)
25
- at Object._import [as import] (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\import\index.js:15:37)
26
- {"start":{"line":1,"column":1}}
27
-
28
- 2024-07-16T09:31:20.521Z
7
+ 2024-08-09T03:08:09.727Z
29
8
  undefined
30
9
 
31
- 2024-07-16T10:01:43.777Z
10
+ 2024-08-11T02:28:24.073Z
32
11
  undefined
33
12
 
File without changes
package/bin/db2dbml.js ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ /* eslint-disable */
3
+
4
+ require('../lib').db2dbml(process.argv);
package/dbml-error.log CHANGED
@@ -1,280 +1,53 @@
1
- 2022-11-10T21:29:08.380Z
2
- SyntaxError: You have a syntax error at "i248.pg.sql" line 1 column 1. Two endpoints have unequal number of fields
3
- at C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\lib\cli\utils.js:55:13
4
- at Array.forEach (<anonymous>)
5
- at generate (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\lib\cli\utils.js:48:14)
6
- at importHandler (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\lib\cli\import.js:40:27)
7
- at Object.sql2dbml (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\lib\cli\index.js:38:23)
8
- at Object.<anonymous> (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-cli\bin\sql2dbml.js:4:19)
9
- at Module._compile (node:internal/modules/cjs/loader:1155:14)
10
- at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)
11
- at Module.load (node:internal/modules/cjs/loader:1033:32)
12
- at Function.Module._load (node:internal/modules/cjs/loader:868:12)
13
-
14
- ROOT_ERROR:
15
- Error: Two endpoints have unequal number of fields
16
- at Ref.error (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\model_structure\element.js:77:13)
17
- at Ref.processEndpoints (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\model_structure\ref.js:112:14)
18
- at new Ref (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\model_structure\ref.js:83:11)
19
- at C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\model_structure\database.js:173:28
20
- at Array.forEach (<anonymous>)
21
- at Database.processSchemaElements (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\model_structure\database.js:143:16)
22
- at new Database (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\model_structure\database.js:99:11)
23
- at Function.parseJSONToDatabase (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\parse\Parser.js:38:22)
24
- at Function.parse (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\parse\Parser.js:105:27)
25
- at Object._import [as import] (C:\Users\Inspiron101\Desktop\Holistics\dbml\packages\dbml-core\lib\import\index.js:15:37)
26
- {"start":{"line":1,"column":1}}
27
-
28
- 2024-07-31T04:16:07.219Z
29
- Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string
30
- at Object.continueSession (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/crypto/sasl.js:24:11)
31
- at Client._handleAuthSASLContinue (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/client.js:272:18)
32
- at Connection.emit (node:events:513:28)
33
- at /media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/connection.js:117:12
34
- at Parser.parse (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/parser.js:36:17)
35
- at Socket.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/index.js:11:42)
36
- at Socket.emit (node:events:513:28)
37
- at addChunk (node:internal/streams/readable:315:12)
38
- at readableAddChunk (node:internal/streams/readable:289:9)
39
- at Socket.Readable.push (node:internal/streams/readable:228:10)
40
-
41
- 2024-07-31T04:20:46.579Z
42
- Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string
43
- at Object.continueSession (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/crypto/sasl.js:24:11)
44
- at Client._handleAuthSASLContinue (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/client.js:272:18)
45
- at Connection.emit (node:events:513:28)
46
- at /media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/connection.js:117:12
47
- at Parser.parse (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/parser.js:36:17)
48
- at Socket.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/index.js:11:42)
49
- at Socket.emit (node:events:513:28)
50
- at addChunk (node:internal/streams/readable:315:12)
51
- at readableAddChunk (node:internal/streams/readable:289:9)
52
- at Socket.Readable.push (node:internal/streams/readable:228:10)
53
-
54
- 2024-07-31T04:21:59.354Z
55
- Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string
56
- at Object.continueSession (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/crypto/sasl.js:24:11)
57
- at Client._handleAuthSASLContinue (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/client.js:272:18)
58
- at Connection.emit (node:events:513:28)
59
- at /media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/connection.js:117:12
60
- at Parser.parse (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/parser.js:36:17)
61
- at Socket.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/index.js:11:42)
62
- at Socket.emit (node:events:513:28)
63
- at addChunk (node:internal/streams/readable:315:12)
64
- at readableAddChunk (node:internal/streams/readable:289:9)
65
- at Socket.Readable.push (node:internal/streams/readable:228:10)
66
-
67
- 2024-07-31T04:24:38.594Z
68
- Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string
69
- at Object.continueSession (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/crypto/sasl.js:24:11)
70
- at Client._handleAuthSASLContinue (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/client.js:272:18)
71
- at Connection.emit (node:events:513:28)
72
- at /media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/connection.js:117:12
73
- at Parser.parse (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/parser.js:36:17)
74
- at Socket.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/index.js:11:42)
75
- at Socket.emit (node:events:513:28)
76
- at addChunk (node:internal/streams/readable:315:12)
77
- at readableAddChunk (node:internal/streams/readable:289:9)
78
- at Socket.Readable.push (node:internal/streams/readable:228:10)
79
-
80
- 2024-07-31T04:24:45.154Z
81
- Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string
82
- at Object.continueSession (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/crypto/sasl.js:24:11)
83
- at Client._handleAuthSASLContinue (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/client.js:272:18)
84
- at Connection.emit (node:events:513:28)
85
- at /media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/connection.js:117:12
86
- at Parser.parse (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/parser.js:36:17)
87
- at Socket.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/index.js:11:42)
88
- at Socket.emit (node:events:513:28)
89
- at addChunk (node:internal/streams/readable:315:12)
90
- at readableAddChunk (node:internal/streams/readable:289:9)
91
- at Socket.Readable.push (node:internal/streams/readable:228:10)
92
-
93
- 2024-07-31T04:27:18.760Z
94
- Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string
95
- at Object.continueSession (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/crypto/sasl.js:24:11)
96
- at Client._handleAuthSASLContinue (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/client.js:272:18)
97
- at Connection.emit (node:events:513:28)
98
- at /media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/connection.js:117:12
99
- at Parser.parse (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/parser.js:36:17)
100
- at Socket.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/index.js:11:42)
101
- at Socket.emit (node:events:513:28)
102
- at addChunk (node:internal/streams/readable:315:12)
103
- at readableAddChunk (node:internal/streams/readable:289:9)
104
- at Socket.Readable.push (node:internal/streams/readable:228:10)
105
-
106
- 2024-07-31T04:27:25.697Z
107
- TypeError: program.args is not a function
108
- at connectionHandler (/media/siv/winshare/Holistics/dbx/dbml/packages/dbml-cli/lib/cli/connector.js:22:52)
109
- at Object.db2dbml (/media/siv/winshare/Holistics/dbx/dbml/packages/dbml-cli/lib/cli/index.js:38:26)
110
- at Object.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/packages/dbml-cli/bin/db2dbml.js:4:19)
111
- at Module._compile (node:internal/modules/cjs/loader:1155:14)
112
- at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)
113
- at Module.load (node:internal/modules/cjs/loader:1033:32)
114
- at Function.Module._load (node:internal/modules/cjs/loader:868:12)
115
- at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
116
- at node:internal/main/run_main_module:22:47
117
-
118
- 2024-07-31T04:27:44.561Z
119
- TypeError: program.args is not a function
120
- at connectionHandler (/media/siv/winshare/Holistics/dbx/dbml/packages/dbml-cli/lib/cli/connector.js:22:52)
121
- at Object.db2dbml (/media/siv/winshare/Holistics/dbx/dbml/packages/dbml-cli/lib/cli/index.js:38:26)
122
- at Object.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/packages/dbml-cli/bin/db2dbml.js:4:19)
123
- at Module._compile (node:internal/modules/cjs/loader:1155:14)
124
- at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)
125
- at Module.load (node:internal/modules/cjs/loader:1033:32)
126
- at Function.Module._load (node:internal/modules/cjs/loader:868:12)
127
- at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
128
- at node:internal/main/run_main_module:22:47
129
-
130
- 2024-07-31T04:27:47.819Z
131
- TypeError: program.args is not a function
132
- at connectionHandler (/media/siv/winshare/Holistics/dbx/dbml/packages/dbml-cli/lib/cli/connector.js:22:52)
133
- at Object.db2dbml (/media/siv/winshare/Holistics/dbx/dbml/packages/dbml-cli/lib/cli/index.js:38:26)
134
- at Object.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/packages/dbml-cli/bin/db2dbml.js:4:19)
135
- at Module._compile (node:internal/modules/cjs/loader:1155:14)
136
- at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)
137
- at Module.load (node:internal/modules/cjs/loader:1033:32)
138
- at Function.Module._load (node:internal/modules/cjs/loader:868:12)
139
- at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
140
- at node:internal/main/run_main_module:22:47
141
-
142
- 2024-07-31T04:28:01.145Z
143
- TypeError: program.args is not a function
144
- at connectionHandler (/media/siv/winshare/Holistics/dbx/dbml/packages/dbml-cli/lib/cli/connector.js:22:52)
145
- at Object.db2dbml (/media/siv/winshare/Holistics/dbx/dbml/packages/dbml-cli/lib/cli/index.js:38:26)
146
- at Object.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/packages/dbml-cli/bin/db2dbml.js:4:19)
147
- at Module._compile (node:internal/modules/cjs/loader:1155:14)
148
- at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)
149
- at Module.load (node:internal/modules/cjs/loader:1033:32)
150
- at Function.Module._load (node:internal/modules/cjs/loader:868:12)
151
- at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
152
- at node:internal/main/run_main_module:22:47
153
-
154
- 2024-07-31T04:28:33.519Z
155
- TypeError: program.args is not a function
156
- at connectionHandler (/media/siv/winshare/Holistics/dbx/dbml/packages/dbml-cli/lib/cli/connector.js:22:52)
157
- at Object.db2dbml (/media/siv/winshare/Holistics/dbx/dbml/packages/dbml-cli/lib/cli/index.js:38:26)
158
- at Object.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/packages/dbml-cli/bin/db2dbml.js:4:19)
159
- at Module._compile (node:internal/modules/cjs/loader:1155:14)
160
- at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)
161
- at Module.load (node:internal/modules/cjs/loader:1033:32)
162
- at Function.Module._load (node:internal/modules/cjs/loader:868:12)
163
- at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
164
- at node:internal/main/run_main_module:22:47
165
-
166
- 2024-07-31T04:28:39.654Z
167
- TypeError: program.args is not a function
168
- at connectionHandler (/media/siv/winshare/Holistics/dbx/dbml/packages/dbml-cli/lib/cli/connector.js:22:52)
169
- at Object.db2dbml (/media/siv/winshare/Holistics/dbx/dbml/packages/dbml-cli/lib/cli/index.js:38:26)
170
- at Object.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/packages/dbml-cli/bin/db2dbml.js:4:19)
171
- at Module._compile (node:internal/modules/cjs/loader:1155:14)
172
- at Object.Module._extensions..js (node:internal/modules/cjs/loader:1209:10)
173
- at Module.load (node:internal/modules/cjs/loader:1033:32)
174
- at Function.Module._load (node:internal/modules/cjs/loader:868:12)
175
- at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
176
- at node:internal/main/run_main_module:22:47
177
-
178
- 2024-07-31T04:28:53.564Z
179
- Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string
180
- at Object.continueSession (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/crypto/sasl.js:24:11)
181
- at Client._handleAuthSASLContinue (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/client.js:272:18)
182
- at Connection.emit (node:events:513:28)
183
- at /media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/connection.js:117:12
184
- at Parser.parse (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/parser.js:36:17)
185
- at Socket.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/index.js:11:42)
186
- at Socket.emit (node:events:513:28)
187
- at addChunk (node:internal/streams/readable:315:12)
188
- at readableAddChunk (node:internal/streams/readable:289:9)
189
- at Socket.Readable.push (node:internal/streams/readable:228:10)
190
-
191
- 2024-07-31T04:30:04.629Z
192
- Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string
193
- at Object.continueSession (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/crypto/sasl.js:24:11)
194
- at Client._handleAuthSASLContinue (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/client.js:272:18)
195
- at Connection.emit (node:events:513:28)
196
- at /media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/connection.js:117:12
197
- at Parser.parse (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/parser.js:36:17)
198
- at Socket.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/index.js:11:42)
199
- at Socket.emit (node:events:513:28)
200
- at addChunk (node:internal/streams/readable:315:12)
201
- at readableAddChunk (node:internal/streams/readable:289:9)
202
- at Socket.Readable.push (node:internal/streams/readable:228:10)
203
-
204
- 2024-07-31T04:45:29.621Z
205
- Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string
206
- at Object.continueSession (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/crypto/sasl.js:24:11)
207
- at Client._handleAuthSASLContinue (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/client.js:272:18)
208
- at Connection.emit (node:events:513:28)
209
- at /media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/connection.js:117:12
210
- at Parser.parse (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/parser.js:36:17)
211
- at Socket.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/index.js:11:42)
212
- at Socket.emit (node:events:513:28)
213
- at addChunk (node:internal/streams/readable:315:12)
214
- at readableAddChunk (node:internal/streams/readable:289:9)
215
- at Socket.Readable.push (node:internal/streams/readable:228:10)
216
-
217
- 2024-07-31T04:46:05.303Z
218
- Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string
219
- at Object.continueSession (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/crypto/sasl.js:24:11)
220
- at Client._handleAuthSASLContinue (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/client.js:272:18)
221
- at Connection.emit (node:events:513:28)
222
- at /media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/connection.js:117:12
223
- at Parser.parse (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/parser.js:36:17)
224
- at Socket.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/index.js:11:42)
225
- at Socket.emit (node:events:513:28)
226
- at addChunk (node:internal/streams/readable:315:12)
227
- at readableAddChunk (node:internal/streams/readable:289:9)
228
- at Socket.Readable.push (node:internal/streams/readable:228:10)
229
-
230
- 2024-07-31T04:46:15.251Z
231
- error: password authentication failed for user "siv"
232
- at Parser.parseErrorMessage (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/parser.js:283:98)
233
- at Parser.handlePacket (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/parser.js:122:29)
234
- at Parser.parse (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/parser.js:35:38)
235
- at Socket.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/index.js:11:42)
236
- at Socket.emit (node:events:513:28)
237
- at addChunk (node:internal/streams/readable:315:12)
238
- at readableAddChunk (node:internal/streams/readable:289:9)
239
- at Socket.Readable.push (node:internal/streams/readable:228:10)
240
- at TCP.onStreamRead (node:internal/stream_base_commons:190:23)
241
-
242
- 2024-07-31T04:46:21.056Z
243
- Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string
244
- at Object.continueSession (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/crypto/sasl.js:24:11)
245
- at Client._handleAuthSASLContinue (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/client.js:272:18)
246
- at Connection.emit (node:events:513:28)
247
- at /media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/connection.js:117:12
248
- at Parser.parse (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/parser.js:36:17)
249
- at Socket.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/index.js:11:42)
250
- at Socket.emit (node:events:513:28)
251
- at addChunk (node:internal/streams/readable:315:12)
252
- at readableAddChunk (node:internal/streams/readable:289:9)
253
- at Socket.Readable.push (node:internal/streams/readable:228:10)
254
-
255
- 2024-07-31T04:51:11.181Z
256
- Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string
257
- at Object.continueSession (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/crypto/sasl.js:24:11)
258
- at Client._handleAuthSASLContinue (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/client.js:272:18)
259
- at Connection.emit (node:events:513:28)
260
- at /media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/connection.js:117:12
261
- at Parser.parse (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/parser.js:36:17)
262
- at Socket.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/index.js:11:42)
263
- at Socket.emit (node:events:513:28)
264
- at addChunk (node:internal/streams/readable:315:12)
265
- at readableAddChunk (node:internal/streams/readable:289:9)
266
- at Socket.Readable.push (node:internal/streams/readable:228:10)
267
-
268
- 2024-07-31T04:51:29.368Z
269
- Error: SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string
270
- at Object.continueSession (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/crypto/sasl.js:24:11)
271
- at Client._handleAuthSASLContinue (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/client.js:272:18)
272
- at Connection.emit (node:events:513:28)
273
- at /media/siv/winshare/Holistics/dbx/dbml/node_modules/pg/lib/connection.js:117:12
274
- at Parser.parse (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/parser.js:36:17)
275
- at Socket.<anonymous> (/media/siv/winshare/Holistics/dbx/dbml/node_modules/pg-protocol/dist/index.js:11:42)
276
- at Socket.emit (node:events:513:28)
277
- at addChunk (node:internal/streams/readable:315:12)
278
- at readableAddChunk (node:internal/streams/readable:289:9)
279
- at Socket.Readable.push (node:internal/streams/readable:228:10)
1
+ 2024-08-07T02:44:57.506Z
2
+ Error: Error: connect ECONNREFUSED 127.0.0.1:3306
3
+ at _callee8$ (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:474:17)
4
+ at tryCatch (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:16:1357)
5
+ at Generator.<anonymous> (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:16:4174)
6
+ at Generator.throw (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:16:2208)
7
+ at asyncGeneratorStep (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:17:103)
8
+ at _throw (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:18:291)
9
+ at processTicksAndRejections (node:internal/process/task_queues:96:5)
10
+
11
+ 2024-08-07T02:51:24.263Z
12
+ Error: Error: MySQL connection error:
13
+ at _callee8$ (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:485:17)
14
+ at tryCatch (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:16:1357)
15
+ at Generator.<anonymous> (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:16:4174)
16
+ at Generator.throw (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:16:2208)
17
+ at asyncGeneratorStep (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:17:103)
18
+ at _throw (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:18:291)
19
+ at processTicksAndRejections (node:internal/process/task_queues:96:5)
20
+
21
+ 2024-08-07T02:52:34.901Z
22
+ Error: Error: MySQL connection error: Error: connect ECONNREFUSED 127.0.0.1:3306
23
+ at _callee8$ (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:485:17)
24
+ at tryCatch (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:16:1357)
25
+ at Generator.<anonymous> (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:16:4174)
26
+ at Generator.throw (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:16:2208)
27
+ at asyncGeneratorStep (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:17:103)
28
+ at _throw (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:18:291)
29
+ at processTicksAndRejections (node:internal/process/task_queues:96:5)
30
+
31
+ 2024-08-07T02:53:35.536Z
32
+ Error: Error: MySQL connection error: Error: connect ECONNREFUSED 127.0.0.1:3306
33
+ at _callee8$ (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:485:17)
34
+ at tryCatch (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:16:1357)
35
+ at Generator.<anonymous> (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:16:4174)
36
+ at Generator.throw (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:16:2208)
37
+ at asyncGeneratorStep (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:17:103)
38
+ at _throw (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/parse/connection/mysql/utils/sql.js:18:291)
39
+ at processTicksAndRejections (node:internal/process/task_queues:96:5)
40
+
41
+ 2024-08-12T04:39:12.767Z
42
+ TypeError [ERR_INVALID_URL]: Invalid URL
43
+ at new NodeError (node:internal/errors:387:5)
44
+ at URL.onParseError (node:internal/url:565:9)
45
+ at new URL (node:internal/url:641:5)
46
+ at Function.parseUrl (/Users/huylm/code/dbx/dbml/node_modules/mysql2/lib/connection_config.js:263:23)
47
+ at new ConnectionConfig (/Users/huylm/code/dbx/dbml/node_modules/mysql2/lib/connection_config.js:75:34)
48
+ at Object.exports.createConnection (/Users/huylm/code/dbx/dbml/node_modules/mysql2/index.js:10:35)
49
+ at createConnection (/Users/huylm/code/dbx/dbml/node_modules/mysql2/promise.js:252:31)
50
+ at _callee$ (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/connectors/mysqlConnector.js:41:48)
51
+ at tryCatch (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/connectors/mysqlConnector.js:14:1357)
52
+ at Generator.<anonymous> (/Users/huylm/code/dbx/dbml/packages/dbml-core/lib/connectors/mysqlConnector.js:14:4174)
280
53
 
package/jestHelpers.js CHANGED
File without changes
package/lib/cli/config.js CHANGED
File without changes
@@ -15,17 +15,16 @@ var _logger = _interopRequireDefault(require("../helpers/logger"));
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
16
  async function connectionHandler(program) {
17
17
  try {
18
- const opts = program.opts();
19
18
  const {
20
- format,
21
- connection
22
- } = (0, _utils.getConnectionOpt)(opts);
19
+ connection,
20
+ format
21
+ } = (0, _utils.getConnectionOpt)(program.args);
22
+ const opts = program.opts();
23
23
  if (!opts.outFile && !opts.outDir) {
24
- const res = await _core.connector.fetch(connection, format);
24
+ const res = await _core.importer.generateDbml(connection, format);
25
25
  _outputConsolePlugin.default.write(res);
26
26
  } else if (opts.outFile) {
27
- // generate(null, () => connector.fetch(connection, format), new OutputFilePlugin(resolvePaths(opts.outFile)));
28
- const res = await _core.connector.fetch(connection, format);
27
+ const res = await _core.importer.generateDbml(connection, format);
29
28
  new _outputFilePlugin.default((0, _utils.resolvePaths)(opts.outFile)).write(res);
30
29
 
31
30
  // bearer:disable javascript_lang_logger
package/lib/cli/export.js CHANGED
File without changes
package/lib/cli/import.js CHANGED
File without changes
package/lib/cli/index.js CHANGED
@@ -3,18 +3,24 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.db2dbml = db2dbml;
6
7
  exports.dbml2sql = dbml2sql;
7
8
  exports.sql2dbml = sql2dbml;
8
9
  var _commander = _interopRequireDefault(require("commander"));
9
10
  var _import = _interopRequireDefault(require("./import"));
10
11
  var _export = _interopRequireDefault(require("./export"));
12
+ var _connector = _interopRequireDefault(require("./connector"));
11
13
  var _package = _interopRequireDefault(require("../../package.json"));
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ function showHelp(args) {
16
+ if (args.length < 3) _commander.default.help();
17
+ }
13
18
  function dbml2sql(args) {
14
19
  _commander.default.version(_package.default.version);
15
20
  _commander.default.usage('[options] <files...>').option('--mysql').option('--postgres').option('--mssql').option('--oracle').option('-o, --out-file <pathspec>', 'compile all input files into a single files');
16
21
  // .option('-d, --out-dir <pathspec>', 'compile an input directory of dbml files into an output directory');
17
22
 
23
+ showHelp(args);
18
24
  _commander.default.parse(args);
19
25
  (0, _export.default)(_commander.default);
20
26
  }
@@ -23,6 +29,28 @@ function sql2dbml(args) {
23
29
  _commander.default.usage('[options] <files...>').option('--mysql').option('--mysql-legacy').option('--postgres').option('--postgres-legacy').option('--mssql').option('--snowflake').option('-o, --out-file <pathspec>', 'compile all input files into a single files');
24
30
  // .option('-d, --out-dir <pathspec>', 'compile an input directory of sql files into an output directory');
25
31
 
32
+ showHelp(args);
26
33
  _commander.default.parse(args);
27
34
  (0, _import.default)(_commander.default);
35
+ }
36
+ function db2dbml(args) {
37
+ _commander.default.version(_package.default.version);
38
+
39
+ // Q: How to write the arguments description for the below usage?
40
+ // A: The usage description is written in the following way:
41
+ // - <format> your database format (postgres, mysql, mssql)
42
+ // - <connection-string> your database connection string
43
+ // - postgres: postgresql://user:password@localhost:5432/dbname
44
+ // - mssql: 'Server=localhost,1433;Database=master;User Id=sa;Password=your_password;Encrypt=true;TrustServerCertificate
45
+ const description = `
46
+ <format> your database format (postgres, mysql, mssql)
47
+ <connection-string> your database connection string:
48
+ - postgres: postgresql://user:password@localhost:5432/dbname
49
+ - mysql: mysql://user:password@localhost:3306/dbname
50
+ - mssql: 'Server=localhost,1433;Database=master;User Id=sa;Password=your_password;Encrypt=true;TrustServerCertificate=true;'
51
+ `;
52
+ _commander.default.usage('<format> <connection-string> [options]').description(description).option('-o, --out-file <pathspec>', 'compile all input files into a single files');
53
+ showHelp(args);
54
+ _commander.default.parse(args);
55
+ (0, _connector.default)(_commander.default);
28
56
  }
File without changes
File without changes
package/lib/cli/utils.js CHANGED
@@ -4,12 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.generate = generate;
7
+ exports.getConnectionOpt = getConnectionOpt;
7
8
  exports.getFormatOpt = getFormatOpt;
8
9
  exports.resolvePaths = resolvePaths;
9
10
  exports.validateInputFilePaths = validateInputFilePaths;
10
11
  var _path2 = _interopRequireDefault(require("path"));
11
12
  var _fs = _interopRequireDefault(require("fs"));
12
13
  var _core = require("@dbml/core");
14
+ var _lodash = require("lodash");
13
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
16
  function resolvePaths(paths) {
15
17
  if (!Array.isArray(paths)) {
@@ -35,6 +37,24 @@ function getFormatOpt(opts) {
35
37
  });
36
38
  return format;
37
39
  }
40
+ function getConnectionOpt(args) {
41
+ const supportedDatabases = ['postgres', 'mysql', 'mssql'];
42
+ const defaultConnectionOpt = {
43
+ connection: args[0],
44
+ format: 'unknown'
45
+ };
46
+ return (0, _lodash.reduce)(args, (connectionOpt, arg) => {
47
+ if (supportedDatabases.includes(arg)) connectionOpt.format = arg;
48
+ // Check if the arg is a connection string using regex
49
+ const connectionStringRegex = /^.*[:;]/;
50
+ if (connectionStringRegex.test(arg)) {
51
+ // Example: jdbc:mysql://localhost:3306/mydatabase
52
+ // Example: odbc:Driver={SQL Server};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
53
+ connectionOpt.connection = arg;
54
+ }
55
+ return connectionOpt;
56
+ }, defaultConnectionOpt);
57
+ }
38
58
  function generate(inputPaths, transform, outputPlugin) {
39
59
  inputPaths.forEach(_path => {
40
60
  const source = _fs.default.readFileSync(_path, 'utf-8');
File without changes