@dbml/cli 5.1.0 → 5.3.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 (311) hide show
  1. package/.babelrc +2 -2
  2. package/{__test__ → __tests__}/cli.test.js +3 -4
  3. package/__tests__/db2dbml/mssql/dbml-error.log +44 -0
  4. package/{__test__ → __tests__}/db2dbml/mssql/expect-out-files/schema.dbml +7 -0
  5. package/{__test__ → __tests__}/db2dbml/mssql/schema.sql +11 -0
  6. package/__tests__/db2dbml/mysql/dbml-error.log +12 -0
  7. package/{__test__ → __tests__}/db2dbml/mysql/expect-out-files/schema.dbml +12 -0
  8. package/{__test__ → __tests__}/db2dbml/mysql/schema.sql +9 -0
  9. package/__tests__/db2dbml/oracle/dbml-error.log +91 -0
  10. package/__tests__/db2dbml/oracle/expect-out-files/schema.dbml +419 -0
  11. package/__tests__/db2dbml/oracle/options.json +8 -0
  12. package/__tests__/db2dbml/oracle/out-files/schema.dbml +419 -0
  13. package/__tests__/db2dbml/oracle/schema.sql +529 -0
  14. package/__tests__/db2dbml/postgres/dbml-error.log +28 -0
  15. package/{__test__ → __tests__}/db2dbml/postgres/expect-out-files/schema.dbml +14 -2
  16. package/{__test__ → __tests__}/db2dbml/postgres/schema.sql +10 -0
  17. package/__tests__/db2dbml/postgres/stdout.txt +1 -0
  18. package/{__test__ → __tests__}/db2dbml_bin.js +0 -1
  19. package/__tests__/dbml2sql/filename --mysql --out-file/dbml-error.log +0 -0
  20. package/__tests__/dbml2sql/filename --mysql --out-file/out-files/schema.sql +65 -0
  21. package/__tests__/dbml2sql/filename --mysql stdout/dbml-error.log +0 -0
  22. package/__tests__/dbml2sql/filename --oracle --out-file/dbml-error.log +0 -0
  23. package/__tests__/dbml2sql/filename --oracle --out-file/out-files/schema.sql +61 -0
  24. package/__tests__/dbml2sql/filename --oracle stdout/dbml-error.log +0 -0
  25. package/__tests__/dbml2sql/filename --out-file/dbml-error.log +0 -0
  26. package/__tests__/dbml2sql/filename --out-file/out-files/schema.sql +77 -0
  27. package/__tests__/dbml2sql/filename --postgres --out-file/dbml-error.log +0 -0
  28. package/__tests__/dbml2sql/filename --postgres --out-file/out-files/schema.sql +77 -0
  29. package/__tests__/dbml2sql/filename --postgres stdout/dbml-error.log +0 -0
  30. package/__tests__/dbml2sql/filename stdout/dbml-error.log +0 -0
  31. package/__tests__/dbml2sql/filenames --mysql --out-file/dbml-error.log +0 -0
  32. package/__tests__/dbml2sql/filenames --mysql --out-file/out-files/schema.sql +172 -0
  33. package/__tests__/dbml2sql/filenames --mysql stdout/dbml-error.log +0 -0
  34. package/__tests__/dbml2sql/filenames --oracle --out-file/dbml-error.log +0 -0
  35. package/__tests__/dbml2sql/filenames --oracle --out-file/out-files/schema.sql +172 -0
  36. package/__tests__/dbml2sql/filenames --oracle stdout/dbml-error.log +0 -0
  37. package/__tests__/dbml2sql/filenames --out-file/dbml-error.log +0 -0
  38. package/__tests__/dbml2sql/filenames --out-file/out-files/schema.sql +172 -0
  39. package/__tests__/dbml2sql/filenames --postgres --out-file/dbml-error.log +0 -0
  40. package/__tests__/dbml2sql/filenames --postgres --out-file/out-files/schema.sql +172 -0
  41. package/__tests__/dbml2sql/filenames --postgres stdout/dbml-error.log +0 -0
  42. package/__tests__/dbml2sql/filenames stdout/dbml-error.log +0 -0
  43. package/__tests__/dbml2sql/multiple_schema_mssql/dbml-error.log +0 -0
  44. package/__tests__/dbml2sql/multiple_schema_mssql/out-files/multiple_schema.out.sql +62 -0
  45. package/__tests__/dbml2sql/multiple_schema_mysql/dbml-error.log +0 -0
  46. package/__tests__/dbml2sql/multiple_schema_mysql/out-files/multiple_schema.out.sql +50 -0
  47. package/__tests__/dbml2sql/multiple_schema_oracle/dbml-error.log +0 -0
  48. package/__tests__/dbml2sql/multiple_schema_oracle/out-files/multiple_schema.out.sql +88 -0
  49. package/__tests__/dbml2sql/multiple_schema_pg/dbml-error.log +0 -0
  50. package/__tests__/dbml2sql/multiple_schema_pg/out-files/multiple_schema.out.sql +67 -0
  51. package/__tests__/dbml2sql/syntax-error/dbml-error.log +15 -0
  52. package/{__test__ → __tests__}/dbml2sql_bin.js +0 -1
  53. package/__tests__/sql2dbml/custom-error-alter-table-column-not-found --oracle/dbml-error.log +51 -0
  54. package/__tests__/sql2dbml/custom-error-alter-table-column-not-found --oracle/in-files/schema.sql +6 -0
  55. package/__tests__/sql2dbml/custom-error-alter-table-column-not-found --oracle/options.json +8 -0
  56. package/__tests__/sql2dbml/custom-error-alter-table-column-not-found --oracle/out-files/schema.dbml +0 -0
  57. package/__tests__/sql2dbml/custom-error-alter-table-column-not-found --oracle/stdout.txt +4 -0
  58. package/__tests__/sql2dbml/custom-error-alter-table-table-not-found --oracle/dbml-error.log +51 -0
  59. package/__tests__/sql2dbml/custom-error-alter-table-table-not-found --oracle/in-files/schema.sql +2 -0
  60. package/__tests__/sql2dbml/custom-error-alter-table-table-not-found --oracle/options.json +8 -0
  61. package/__tests__/sql2dbml/custom-error-alter-table-table-not-found --oracle/out-files/schema.dbml +0 -0
  62. package/__tests__/sql2dbml/custom-error-alter-table-table-not-found --oracle/stdout.txt +4 -0
  63. package/__tests__/sql2dbml/custom-error-column-comment-column-not-found --oracle/dbml-error.log +51 -0
  64. package/__tests__/sql2dbml/custom-error-column-comment-column-not-found --oracle/in-files/schema.sql +6 -0
  65. package/__tests__/sql2dbml/custom-error-column-comment-column-not-found --oracle/options.json +8 -0
  66. package/__tests__/sql2dbml/custom-error-column-comment-column-not-found --oracle/out-files/schema.dbml +0 -0
  67. package/__tests__/sql2dbml/custom-error-column-comment-column-not-found --oracle/stdout.txt +4 -0
  68. package/__tests__/sql2dbml/custom-error-column-comment-table-not-found --oracle/dbml-error.log +51 -0
  69. package/__tests__/sql2dbml/custom-error-column-comment-table-not-found --oracle/in-files/schema.sql +5 -0
  70. package/__tests__/sql2dbml/custom-error-column-comment-table-not-found --oracle/options.json +8 -0
  71. package/__tests__/sql2dbml/custom-error-column-comment-table-not-found --oracle/out-files/schema.dbml +0 -0
  72. package/__tests__/sql2dbml/custom-error-column-comment-table-not-found --oracle/stdout.txt +4 -0
  73. package/__tests__/sql2dbml/custom-error-create-index-table-not-found --oracle/dbml-error.log +51 -0
  74. package/__tests__/sql2dbml/custom-error-create-index-table-not-found --oracle/in-files/schema.sql +1 -0
  75. package/__tests__/sql2dbml/custom-error-create-index-table-not-found --oracle/options.json +8 -0
  76. package/__tests__/sql2dbml/custom-error-create-index-table-not-found --oracle/out-files/schema.dbml +0 -0
  77. package/__tests__/sql2dbml/custom-error-create-index-table-not-found --oracle/stdout.txt +4 -0
  78. package/__tests__/sql2dbml/custom-error-table-comment-table-not-found --oracle/dbml-error.log +27 -0
  79. package/__tests__/sql2dbml/custom-error-table-comment-table-not-found --oracle/in-files/schema.sql +5 -0
  80. package/__tests__/sql2dbml/custom-error-table-comment-table-not-found --oracle/options.json +8 -0
  81. package/__tests__/sql2dbml/custom-error-table-comment-table-not-found --oracle/out-files/schema.dbml +0 -0
  82. package/__tests__/sql2dbml/custom-error-table-comment-table-not-found --oracle/stdout.txt +4 -0
  83. package/__tests__/sql2dbml/filename --mssql --out-file/dbml-error.log +0 -0
  84. package/__tests__/sql2dbml/filename --mssql --out-file/out-files/schema.dbml +25 -0
  85. package/__tests__/sql2dbml/filename --mysql --out-file/dbml-error.log +0 -0
  86. package/__tests__/sql2dbml/filename --mysql --out-file/out-files/schema.dbml +74 -0
  87. package/__tests__/sql2dbml/filename --mysql stdout/dbml-error.log +0 -0
  88. package/__tests__/sql2dbml/filename --oracle --out-file/dbml-error.log +0 -0
  89. package/__tests__/sql2dbml/filename --oracle --out-file/expect-out-files/schema.dbml +83 -0
  90. package/__tests__/sql2dbml/filename --oracle --out-file/in-files/schema.sql +147 -0
  91. package/__tests__/sql2dbml/filename --oracle --out-file/options.json +8 -0
  92. package/__tests__/sql2dbml/filename --oracle --out-file/out-files/schema.dbml +83 -0
  93. package/__tests__/sql2dbml/filename --oracle --out-file/stdout.txt +1 -0
  94. package/__tests__/sql2dbml/filename --out-file/dbml-error.log +0 -0
  95. package/__tests__/sql2dbml/filename --postgres --out-file/dbml-error.log +0 -0
  96. package/__tests__/sql2dbml/filename --postgres --out-file/expect-out-files/schema.dbml +74 -0
  97. package/__tests__/sql2dbml/filename --postgres --out-file/out-files/schema.dbml +74 -0
  98. package/__tests__/sql2dbml/filename --postgres stdout/dbml-error.log +0 -0
  99. package/__tests__/sql2dbml/filename --snowflake stdout/dbml-error.log +0 -0
  100. package/__tests__/sql2dbml/filename stdout/dbml-error.log +0 -0
  101. package/__tests__/sql2dbml/filenames --mysql --out-file/dbml-error.log +0 -0
  102. package/__tests__/sql2dbml/filenames --mysql --out-file/out-files/schema.dbml +170 -0
  103. package/__tests__/sql2dbml/filenames --mysql stdout/dbml-error.log +0 -0
  104. package/__tests__/sql2dbml/filenames --out-file/dbml-error.log +0 -0
  105. package/__tests__/sql2dbml/filenames --postgres --out-file/dbml-error.log +0 -0
  106. package/__tests__/sql2dbml/filenames --postgres --out-file/expect-out-files/schema.dbml +170 -0
  107. package/__tests__/sql2dbml/filenames --postgres --out-file/out-files/schema.dbml +170 -0
  108. package/__tests__/sql2dbml/filenames --postgres stdout/dbml-error.log +0 -0
  109. package/__tests__/sql2dbml/filenames stdout/dbml-error.log +0 -0
  110. package/__tests__/sql2dbml/multiple_schema_mssql/dbml-error.log +0 -0
  111. package/__tests__/sql2dbml/multiple_schema_mssql/out-files/multiple_schema.out.dbml +58 -0
  112. package/__tests__/sql2dbml/multiple_schema_mysql/dbml-error.log +0 -0
  113. package/__tests__/sql2dbml/multiple_schema_mysql/out-files/multiple_schema.out.dbml +136 -0
  114. package/__tests__/sql2dbml/multiple_schema_pg/dbml-error.log +0 -0
  115. package/__tests__/sql2dbml/multiple_schema_pg/out-files/multiple_schema.out.dbml +101 -0
  116. package/__tests__/sql2dbml/syntax-error/dbml-error.log +51 -0
  117. package/__tests__/sql2dbml/syntax-error-duplicate-endpoints --mssql/dbml-error.log +51 -0
  118. package/__tests__/sql2dbml/syntax-error-duplicate-endpoints --mysql/dbml-error.log +51 -0
  119. package/{__test__ → __tests__}/sql2dbml_bin.js +0 -1
  120. package/bin/db2dbml.js +0 -1
  121. package/bin/dbml2sql.js +0 -1
  122. package/bin/sql2dbml.js +0 -1
  123. package/eslint.config.ts +96 -0
  124. package/jest.config.ts +13 -0
  125. package/lib/cli/index.js +2 -3
  126. package/lib/cli/utils.js +9 -7
  127. package/lib/helpers/logger.js +0 -2
  128. package/package.json +17 -14
  129. package/src/cli/index.js +2 -1
  130. package/src/cli/utils.js +6 -2
  131. package/src/helpers/logger.js +0 -1
  132. package/tsconfig.json +13 -5
  133. /package/{__test__ → __tests__}/db2dbml/mssql/options.json +0 -0
  134. /package/{__test__ → __tests__}/db2dbml/mssql/stdout.txt +0 -0
  135. /package/{__test__ → __tests__}/db2dbml/mysql/options.json +0 -0
  136. /package/{__test__ → __tests__}/db2dbml/mysql/stdout.txt +0 -0
  137. /package/{__test__/db2dbml/postgres → __tests__/db2dbml/oracle}/stdout.txt +0 -0
  138. /package/{__test__ → __tests__}/db2dbml/postgres/options.json +0 -0
  139. /package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/expect-out-files/schema.sql +0 -0
  140. /package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/in-files/schema.dbml +0 -0
  141. /package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/options.json +0 -0
  142. /package/{__test__ → __tests__}/dbml2sql/filename --mysql --out-file/stdout.txt +0 -0
  143. /package/{__test__ → __tests__}/dbml2sql/filename --mysql stdout/in-files/schema.dbml +0 -0
  144. /package/{__test__ → __tests__}/dbml2sql/filename --mysql stdout/options.json +0 -0
  145. /package/{__test__ → __tests__}/dbml2sql/filename --mysql stdout/stdout.txt +0 -0
  146. /package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/expect-out-files/schema.sql +0 -0
  147. /package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/in-files/schema.dbml +0 -0
  148. /package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/options.json +0 -0
  149. /package/{__test__ → __tests__}/dbml2sql/filename --oracle --out-file/stdout.txt +0 -0
  150. /package/{__test__ → __tests__}/dbml2sql/filename --oracle stdout/in-files/schema.dbml +0 -0
  151. /package/{__test__ → __tests__}/dbml2sql/filename --oracle stdout/options.json +0 -0
  152. /package/{__test__ → __tests__}/dbml2sql/filename --oracle stdout/stdout.txt +0 -0
  153. /package/{__test__ → __tests__}/dbml2sql/filename --out-file/expect-out-files/schema.sql +0 -0
  154. /package/{__test__ → __tests__}/dbml2sql/filename --out-file/in-files/schema.dbml +0 -0
  155. /package/{__test__ → __tests__}/dbml2sql/filename --out-file/options.json +0 -0
  156. /package/{__test__ → __tests__}/dbml2sql/filename --out-file/stdout.txt +0 -0
  157. /package/{__test__ → __tests__}/dbml2sql/filename --postgres --out-file/expect-out-files/schema.sql +0 -0
  158. /package/{__test__ → __tests__}/dbml2sql/filename --postgres --out-file/in-files/schema.dbml +0 -0
  159. /package/{__test__ → __tests__}/dbml2sql/filename --postgres --out-file/options.json +0 -0
  160. /package/{__test__ → __tests__}/dbml2sql/filename --postgres --out-file/stdout.txt +0 -0
  161. /package/{__test__ → __tests__}/dbml2sql/filename --postgres stdout/in-files/schema.dbml +0 -0
  162. /package/{__test__ → __tests__}/dbml2sql/filename --postgres stdout/options.json +0 -0
  163. /package/{__test__ → __tests__}/dbml2sql/filename --postgres stdout/stdout.txt +0 -0
  164. /package/{__test__ → __tests__}/dbml2sql/filename stdout/in-files/schema.dbml +0 -0
  165. /package/{__test__ → __tests__}/dbml2sql/filename stdout/options.json +0 -0
  166. /package/{__test__ → __tests__}/dbml2sql/filename stdout/stdout.txt +0 -0
  167. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/expect-out-files/schema.sql +0 -0
  168. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/in-files/business.dbml +0 -0
  169. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/in-files/customer.dbml +0 -0
  170. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/in-files/inventory.dbml +0 -0
  171. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/options.json +0 -0
  172. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql --out-file/stdout.txt +0 -0
  173. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/in-files/business.dbml +0 -0
  174. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/in-files/customer.dbml +0 -0
  175. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/in-files/inventory.dbml +0 -0
  176. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/options.json +0 -0
  177. /package/{__test__ → __tests__}/dbml2sql/filenames --mysql stdout/stdout.txt +0 -0
  178. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/expect-out-files/schema.sql +0 -0
  179. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/in-files/business.dbml +0 -0
  180. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/in-files/customer.dbml +0 -0
  181. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/in-files/inventory.dbml +0 -0
  182. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/options.json +0 -0
  183. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle --out-file/stdout.txt +0 -0
  184. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/in-files/business.dbml +0 -0
  185. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/in-files/customer.dbml +0 -0
  186. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/in-files/inventory.dbml +0 -0
  187. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/options.json +0 -0
  188. /package/{__test__ → __tests__}/dbml2sql/filenames --oracle stdout/stdout.txt +0 -0
  189. /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/expect-out-files/schema.sql +0 -0
  190. /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/in-files/business.dbml +0 -0
  191. /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/in-files/customer.dbml +0 -0
  192. /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/in-files/inventory.dbml +0 -0
  193. /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/options.json +0 -0
  194. /package/{__test__ → __tests__}/dbml2sql/filenames --out-file/stdout.txt +0 -0
  195. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/expect-out-files/schema.sql +0 -0
  196. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/in-files/business.dbml +0 -0
  197. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/in-files/customer.dbml +0 -0
  198. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/in-files/inventory.dbml +0 -0
  199. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/options.json +0 -0
  200. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres --out-file/stdout.txt +0 -0
  201. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/in-files/business.dbml +0 -0
  202. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/in-files/customer.dbml +0 -0
  203. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/in-files/inventory.dbml +0 -0
  204. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/options.json +0 -0
  205. /package/{__test__ → __tests__}/dbml2sql/filenames --postgres stdout/stdout.txt +0 -0
  206. /package/{__test__ → __tests__}/dbml2sql/filenames stdout/in-files/business.dbml +0 -0
  207. /package/{__test__ → __tests__}/dbml2sql/filenames stdout/in-files/customer.dbml +0 -0
  208. /package/{__test__ → __tests__}/dbml2sql/filenames stdout/in-files/inventory.dbml +0 -0
  209. /package/{__test__ → __tests__}/dbml2sql/filenames stdout/options.json +0 -0
  210. /package/{__test__ → __tests__}/dbml2sql/filenames stdout/stdout.txt +0 -0
  211. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/expect-out-files/multiple_schema.out.sql +0 -0
  212. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/in-files/multiple_schema.in.dbml +0 -0
  213. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/options.json +0 -0
  214. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mssql/stdout.txt +0 -0
  215. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/expect-out-files/multiple_schema.out.sql +0 -0
  216. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/in-files/multiple_schema.in.dbml +0 -0
  217. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/options.json +0 -0
  218. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_mysql/stdout.txt +0 -0
  219. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/expect-out-files/multiple_schema.out.sql +0 -0
  220. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/in-files/multiple_schema.in.dbml +0 -0
  221. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/options.json +0 -0
  222. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_oracle/stdout.txt +0 -0
  223. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/expect-out-files/multiple_schema.out.sql +0 -0
  224. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/in-files/multiple_schema.in.dbml +0 -0
  225. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/options.json +0 -0
  226. /package/{__test__ → __tests__}/dbml2sql/multiple_schema_pg/stdout.txt +0 -0
  227. /package/{__test__ → __tests__}/dbml2sql/syntax-error/in-files/ecommerce.dbml +0 -0
  228. /package/{__test__ → __tests__}/dbml2sql/syntax-error/options.json +0 -0
  229. /package/{__test__ → __tests__}/dbml2sql/syntax-error/stdout.txt +0 -0
  230. /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/expect-out-files/schema.dbml +0 -0
  231. /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/in-files/schema.sql +0 -0
  232. /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/options.json +0 -0
  233. /package/{__test__ → __tests__}/sql2dbml/filename --mssql --out-file/stdout.txt +0 -0
  234. /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/expect-out-files/schema.dbml +0 -0
  235. /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/in-files/schema.sql +0 -0
  236. /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/options.json +0 -0
  237. /package/{__test__ → __tests__}/sql2dbml/filename --mysql --out-file/stdout.txt +0 -0
  238. /package/{__test__ → __tests__}/sql2dbml/filename --mysql stdout/in-files/schema.sql +0 -0
  239. /package/{__test__ → __tests__}/sql2dbml/filename --mysql stdout/options.json +0 -0
  240. /package/{__test__ → __tests__}/sql2dbml/filename --mysql stdout/stdout.txt +0 -0
  241. /package/{__test__ → __tests__}/sql2dbml/filename --out-file/expect-out-files/schema.dbml +0 -0
  242. /package/{__test__ → __tests__}/sql2dbml/filename --out-file/in-files/schema.sql +0 -0
  243. /package/{__test__ → __tests__}/sql2dbml/filename --out-file/options.json +0 -0
  244. /package/{__test__/sql2dbml/filename --postgres --out-file/expect-out-files → __tests__/sql2dbml/filename --out-file/out-files}/schema.dbml +0 -0
  245. /package/{__test__ → __tests__}/sql2dbml/filename --out-file/stdout.txt +0 -0
  246. /package/{__test__ → __tests__}/sql2dbml/filename --postgres --out-file/in-files/schema.sql +0 -0
  247. /package/{__test__ → __tests__}/sql2dbml/filename --postgres --out-file/options.json +0 -0
  248. /package/{__test__ → __tests__}/sql2dbml/filename --postgres --out-file/stdout.txt +0 -0
  249. /package/{__test__ → __tests__}/sql2dbml/filename --postgres stdout/in-files/schema.sql +0 -0
  250. /package/{__test__ → __tests__}/sql2dbml/filename --postgres stdout/options.json +0 -0
  251. /package/{__test__ → __tests__}/sql2dbml/filename --postgres stdout/stdout.txt +0 -0
  252. /package/{__test__ → __tests__}/sql2dbml/filename --snowflake stdout/in-files/schema.sql +0 -0
  253. /package/{__test__ → __tests__}/sql2dbml/filename --snowflake stdout/options.json +0 -0
  254. /package/{__test__ → __tests__}/sql2dbml/filename --snowflake stdout/stdout.txt +0 -0
  255. /package/{__test__ → __tests__}/sql2dbml/filename stdout/in-files/schema.sql +0 -0
  256. /package/{__test__ → __tests__}/sql2dbml/filename stdout/options.json +0 -0
  257. /package/{__test__ → __tests__}/sql2dbml/filename stdout/stdout.txt +0 -0
  258. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/expect-out-files/schema.dbml +0 -0
  259. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/in-files/business.sql +0 -0
  260. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/in-files/customer.sql +0 -0
  261. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/in-files/inventory.sql +0 -0
  262. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/options.json +0 -0
  263. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql --out-file/stdout.txt +0 -0
  264. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/in-files/business.sql +0 -0
  265. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/in-files/customer.sql +0 -0
  266. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/in-files/inventory.sql +0 -0
  267. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/options.json +0 -0
  268. /package/{__test__ → __tests__}/sql2dbml/filenames --mysql stdout/stdout.txt +0 -0
  269. /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/expect-out-files/schema.dbml +0 -0
  270. /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/in-files/business.sql +0 -0
  271. /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/in-files/customer.sql +0 -0
  272. /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/in-files/inventory.sql +0 -0
  273. /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/options.json +0 -0
  274. /package/{__test__/sql2dbml/filenames --postgres --out-file/expect-out-files → __tests__/sql2dbml/filenames --out-file/out-files}/schema.dbml +0 -0
  275. /package/{__test__ → __tests__}/sql2dbml/filenames --out-file/stdout.txt +0 -0
  276. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/in-files/business.sql +0 -0
  277. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/in-files/customer.sql +0 -0
  278. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/in-files/inventory.sql +0 -0
  279. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/options.json +0 -0
  280. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres --out-file/stdout.txt +0 -0
  281. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/in-files/business.sql +0 -0
  282. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/in-files/customer.sql +0 -0
  283. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/in-files/inventory.sql +0 -0
  284. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/options.json +0 -0
  285. /package/{__test__ → __tests__}/sql2dbml/filenames --postgres stdout/stdout.txt +0 -0
  286. /package/{__test__ → __tests__}/sql2dbml/filenames stdout/in-files/business.sql +0 -0
  287. /package/{__test__ → __tests__}/sql2dbml/filenames stdout/in-files/customer.sql +0 -0
  288. /package/{__test__ → __tests__}/sql2dbml/filenames stdout/in-files/inventory.sql +0 -0
  289. /package/{__test__ → __tests__}/sql2dbml/filenames stdout/options.json +0 -0
  290. /package/{__test__ → __tests__}/sql2dbml/filenames stdout/stdout.txt +0 -0
  291. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/expect-out-files/multiple_schema.out.dbml +0 -0
  292. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/in-files/multiple_schema.in.sql +0 -0
  293. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/options.json +0 -0
  294. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mssql/stdout.txt +0 -0
  295. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/expect-out-files/multiple_schema.out.dbml +0 -0
  296. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/in-files/multiple_schema.in.sql +0 -0
  297. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/options.json +0 -0
  298. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_mysql/stdout.txt +0 -0
  299. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/expect-out-files/multiple_schema.out.dbml +0 -0
  300. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/in-files/multiple_schema.in.sql +0 -0
  301. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/options.json +0 -0
  302. /package/{__test__ → __tests__}/sql2dbml/multiple_schema_pg/stdout.txt +0 -0
  303. /package/{__test__ → __tests__}/sql2dbml/syntax-error/in-files/business.sql +0 -0
  304. /package/{__test__ → __tests__}/sql2dbml/syntax-error/options.json +0 -0
  305. /package/{__test__ → __tests__}/sql2dbml/syntax-error/stdout.txt +0 -0
  306. /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mssql/in-files/schema.sql +0 -0
  307. /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mssql/options.json +0 -0
  308. /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mssql/stdout.txt +0 -0
  309. /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mysql/in-files/schema.sql +0 -0
  310. /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mysql/options.json +0 -0
  311. /package/{__test__ → __tests__}/sql2dbml/syntax-error-duplicate-endpoints --mysql/stdout.txt +0 -0
@@ -0,0 +1,147 @@
1
+ -- Oracle SQL ALTER TABLE ADD FOREIGN KEY Constraint Test Cases
2
+ -- Test setup: Create base tables with primary keys
3
+ CREATE TABLE departments (
4
+ dept_id NUMBER(10) PRIMARY KEY,
5
+ dept_name VARCHAR2(100),
6
+ location_id NUMBER(10),
7
+ manager_id NUMBER(10)
8
+ );
9
+
10
+ CREATE TABLE locations (
11
+ location_id NUMBER(10) PRIMARY KEY,
12
+ city VARCHAR2(100),
13
+ country_code CHAR(2)
14
+ );
15
+
16
+ CREATE TABLE countries (
17
+ country_code CHAR(2) PRIMARY KEY,
18
+ country_name VARCHAR2(100)
19
+ );
20
+
21
+ CREATE TABLE employees (
22
+ emp_id NUMBER(10) PRIMARY KEY,
23
+ emp_name VARCHAR2(100),
24
+ department_id NUMBER(10),
25
+ manager_id NUMBER(10),
26
+ hire_date DATE,
27
+ location_id NUMBER(10)
28
+ );
29
+
30
+ CREATE TABLE projects (
31
+ project_id NUMBER(10) PRIMARY KEY,
32
+ project_name VARCHAR2(200),
33
+ dept_id NUMBER(10),
34
+ lead_emp_id NUMBER(10),
35
+ backup_emp_id NUMBER(10)
36
+ );
37
+
38
+ CREATE TABLE assignments (
39
+ assignment_id NUMBER(10) PRIMARY KEY,
40
+ emp_id NUMBER(10),
41
+ project_id NUMBER(10),
42
+ start_date DATE
43
+ );
44
+
45
+ -- Table with composite primary key
46
+ CREATE TABLE project_tasks (
47
+ project_id NUMBER(10),
48
+ task_id NUMBER(10),
49
+ task_name VARCHAR2(200),
50
+ assigned_emp_id NUMBER(10),
51
+ PRIMARY KEY (project_id, task_id)
52
+ );
53
+
54
+ CREATE TABLE task_hours (
55
+ hour_id NUMBER(10) PRIMARY KEY,
56
+ project_id NUMBER(10),
57
+ task_id NUMBER(10),
58
+ hours_worked NUMBER(5,2)
59
+ );
60
+
61
+ -- ============================================
62
+ -- NAMED FOREIGN KEY CONSTRAINTS - BASIC
63
+ -- ============================================
64
+
65
+ -- Simple single-column FK with constraint name
66
+ ALTER TABLE employees
67
+ ADD CONSTRAINT fk_emp_dept
68
+ FOREIGN KEY (department_id)
69
+ REFERENCES departments(dept_id);
70
+
71
+ -- Single-column FK referencing different table
72
+ ALTER TABLE departments
73
+ ADD CONSTRAINT fk_dept_location
74
+ FOREIGN KEY (location_id)
75
+ REFERENCES locations(location_id);
76
+
77
+ -- FK with explicit column name in referenced table
78
+ ALTER TABLE locations
79
+ ADD CONSTRAINT fk_loc_country
80
+ FOREIGN KEY (country_code)
81
+ REFERENCES countries(country_code);
82
+
83
+ -- Self-referencing FK (hierarchical)
84
+ ALTER TABLE employees
85
+ ADD CONSTRAINT fk_emp_manager
86
+ FOREIGN KEY (manager_id)
87
+ REFERENCES employees(emp_id);
88
+
89
+ -- Another self-referencing FK on different table
90
+ ALTER TABLE departments
91
+ ADD CONSTRAINT fk_dept_manager
92
+ FOREIGN KEY (manager_id)
93
+ REFERENCES employees(emp_id);
94
+
95
+ -- ============================================
96
+ -- UNNAMED FOREIGN KEY CONSTRAINTS
97
+ -- ============================================
98
+
99
+ -- FK without explicit constraint name (Oracle auto-generates)
100
+ ALTER TABLE projects
101
+ ADD FOREIGN KEY (dept_id)
102
+ REFERENCES departments(dept_id);
103
+
104
+ -- Another unnamed FK
105
+ ALTER TABLE assignments
106
+ ADD FOREIGN KEY (emp_id)
107
+ REFERENCES employees(emp_id);
108
+
109
+ -- Unnamed FK with different columns
110
+ ALTER TABLE assignments
111
+ ADD FOREIGN KEY (project_id)
112
+ REFERENCES projects(project_id);
113
+
114
+ -- ============================================
115
+ -- COMPOSITE FOREIGN KEYS (Multiple Columns)
116
+ -- ============================================
117
+
118
+ -- Two-column composite FK
119
+ ALTER TABLE task_hours
120
+ ADD CONSTRAINT fk_task_hours_project_task
121
+ FOREIGN KEY (project_id, task_id)
122
+ REFERENCES project_tasks(project_id, task_id);
123
+
124
+ -- ============================================
125
+ -- FOREIGN KEYS WITH ON DELETE ACTIONS
126
+ -- ============================================
127
+
128
+ -- ON DELETE CASCADE - delete child records when parent is deleted
129
+ ALTER TABLE projects
130
+ ADD CONSTRAINT fk_proj_lead_emp
131
+ FOREIGN KEY (lead_emp_id)
132
+ REFERENCES employees(emp_id)
133
+ ON DELETE CASCADE;
134
+
135
+ -- ON DELETE SET NULL - set FK to NULL when parent is deleted
136
+ ALTER TABLE projects
137
+ ADD CONSTRAINT fk_proj_backup_emp
138
+ FOREIGN KEY (backup_emp_id)
139
+ REFERENCES employees(emp_id)
140
+ ON DELETE SET NULL;
141
+
142
+ -- ON DELETE CASCADE with named constraint
143
+ ALTER TABLE project_tasks
144
+ ADD CONSTRAINT fk_task_assigned_emp
145
+ FOREIGN KEY (assigned_emp_id)
146
+ REFERENCES employees(emp_id)
147
+ ON DELETE CASCADE;
@@ -0,0 +1,8 @@
1
+ {
2
+ "args": [
3
+ "./in-files/schema.sql",
4
+ "--oracle",
5
+ "-o",
6
+ "./out-files/schema.dbml"
7
+ ]
8
+ }
@@ -0,0 +1,83 @@
1
+ Table "departments" {
2
+ "dept_id" NUMBER(10) [pk]
3
+ "dept_name" VARCHAR2(100)
4
+ "location_id" NUMBER(10)
5
+ "manager_id" NUMBER(10)
6
+ }
7
+
8
+ Table "locations" {
9
+ "location_id" NUMBER(10) [pk]
10
+ "city" VARCHAR2(100)
11
+ "country_code" CHAR(2)
12
+ }
13
+
14
+ Table "countries" {
15
+ "country_code" CHAR(2) [pk]
16
+ "country_name" VARCHAR2(100)
17
+ }
18
+
19
+ Table "employees" {
20
+ "emp_id" NUMBER(10) [pk]
21
+ "emp_name" VARCHAR2(100)
22
+ "department_id" NUMBER(10)
23
+ "manager_id" NUMBER(10)
24
+ "hire_date" DATE
25
+ "location_id" NUMBER(10)
26
+ }
27
+
28
+ Table "projects" {
29
+ "project_id" NUMBER(10) [pk]
30
+ "project_name" VARCHAR2(200)
31
+ "dept_id" NUMBER(10)
32
+ "lead_emp_id" NUMBER(10)
33
+ "backup_emp_id" NUMBER(10)
34
+ }
35
+
36
+ Table "assignments" {
37
+ "assignment_id" NUMBER(10) [pk]
38
+ "emp_id" NUMBER(10)
39
+ "project_id" NUMBER(10)
40
+ "start_date" DATE
41
+ }
42
+
43
+ Table "project_tasks" {
44
+ "project_id" NUMBER(10)
45
+ "task_id" NUMBER(10)
46
+ "task_name" VARCHAR2(200)
47
+ "assigned_emp_id" NUMBER(10)
48
+
49
+ Indexes {
50
+ (project_id, task_id) [pk]
51
+ }
52
+ }
53
+
54
+ Table "task_hours" {
55
+ "hour_id" NUMBER(10) [pk]
56
+ "project_id" NUMBER(10)
57
+ "task_id" NUMBER(10)
58
+ "hours_worked" NUMBER(5,2)
59
+ }
60
+
61
+ Ref "fk_emp_dept":"departments"."dept_id" < "employees"."department_id"
62
+
63
+ Ref "fk_dept_location":"locations"."location_id" < "departments"."location_id"
64
+
65
+ Ref "fk_loc_country":"countries"."country_code" < "locations"."country_code"
66
+
67
+ Ref "fk_emp_manager":"employees"."emp_id" < "employees"."manager_id"
68
+
69
+ Ref "fk_dept_manager":"employees"."emp_id" < "departments"."manager_id"
70
+
71
+ Ref:"departments"."dept_id" < "projects"."dept_id"
72
+
73
+ Ref:"employees"."emp_id" < "assignments"."emp_id"
74
+
75
+ Ref:"projects"."project_id" < "assignments"."project_id"
76
+
77
+ Ref "fk_task_hours_project_task":"project_tasks".("project_id", "task_id") < "task_hours".("project_id", "task_id")
78
+
79
+ Ref "fk_proj_lead_emp":"employees"."emp_id" < "projects"."lead_emp_id"
80
+
81
+ Ref "fk_proj_backup_emp":"employees"."emp_id" < "projects"."backup_emp_id"
82
+
83
+ Ref "fk_task_assigned_emp":"employees"."emp_id" < "project_tasks"."assigned_emp_id"
@@ -0,0 +1 @@
1
+ ✔ Generated DBML file from SQL file (Oracle): schema.dbml
@@ -0,0 +1,74 @@
1
+ Enum "orders_status" {
2
+ "created"
3
+ "running"
4
+ "done"
5
+ "failure"
6
+ }
7
+
8
+ Enum "product status" {
9
+ "Out of Stock"
10
+ "In Stock"
11
+ }
12
+
13
+ Table "orders" {
14
+ "id" SERIAL [pk, increment]
15
+ "user_id" int [unique, not null]
16
+ "status" orders_status
17
+ "created_at" varchar
18
+ }
19
+
20
+ Table "order_items" {
21
+ "order_id" int
22
+ "product_id" int
23
+ "quantity" int [default: 1]
24
+ }
25
+
26
+ Table "products" {
27
+ "id" int [pk]
28
+ "name" varchar
29
+ "merchant_id" int [not null]
30
+ "price" int
31
+ "status" "product status"
32
+ "created_at" datetime [default: `now()`]
33
+
34
+ Indexes {
35
+ (merchant_id, status) [name: "product_status"]
36
+ id [type: hash, unique]
37
+ }
38
+ }
39
+
40
+ Table "users" {
41
+ "id" int [pk]
42
+ "full_name" varchar
43
+ "email" varchar [unique]
44
+ "gender" varchar
45
+ "date_of_birth" varchar
46
+ "created_at" varchar
47
+ "country_code" int
48
+ }
49
+
50
+ Table "merchants" {
51
+ "id" int [pk]
52
+ "merchant_name" varchar
53
+ "country_code" int
54
+ "created_at" varchar
55
+ "admin_id" int
56
+ }
57
+
58
+ Table "countries" {
59
+ "code" int [pk]
60
+ "name" varchar
61
+ "continent_name" varchar
62
+ }
63
+
64
+ Ref:"orders"."id" < "order_items"."order_id"
65
+
66
+ Ref:"products"."id" < "order_items"."product_id"
67
+
68
+ Ref:"countries"."code" < "users"."country_code"
69
+
70
+ Ref:"countries"."code" < "merchants"."country_code"
71
+
72
+ Ref:"merchants"."id" < "products"."merchant_id"
73
+
74
+ Ref:"users"."id" < "merchants"."admin_id"
@@ -0,0 +1,74 @@
1
+ Enum "orders_status" {
2
+ "created"
3
+ "running"
4
+ "done"
5
+ "failure"
6
+ }
7
+
8
+ Enum "product status" {
9
+ "Out of Stock"
10
+ "In Stock"
11
+ }
12
+
13
+ Table "orders" {
14
+ "id" SERIAL [pk, increment]
15
+ "user_id" int [unique, not null]
16
+ "status" orders_status
17
+ "created_at" varchar
18
+ }
19
+
20
+ Table "order_items" {
21
+ "order_id" int
22
+ "product_id" int
23
+ "quantity" int [default: 1]
24
+ }
25
+
26
+ Table "products" {
27
+ "id" int [pk]
28
+ "name" varchar
29
+ "merchant_id" int [not null]
30
+ "price" int
31
+ "status" "product status"
32
+ "created_at" datetime [default: `now()`]
33
+
34
+ Indexes {
35
+ (merchant_id, status) [name: "product_status"]
36
+ id [type: hash, unique]
37
+ }
38
+ }
39
+
40
+ Table "users" {
41
+ "id" int [pk]
42
+ "full_name" varchar
43
+ "email" varchar [unique]
44
+ "gender" varchar
45
+ "date_of_birth" varchar
46
+ "created_at" varchar
47
+ "country_code" int
48
+ }
49
+
50
+ Table "merchants" {
51
+ "id" int [pk]
52
+ "merchant_name" varchar
53
+ "country_code" int
54
+ "created_at" varchar
55
+ "admin_id" int
56
+ }
57
+
58
+ Table "countries" {
59
+ "code" int [pk]
60
+ "name" varchar
61
+ "continent_name" varchar
62
+ }
63
+
64
+ Ref:"orders"."id" < "order_items"."order_id"
65
+
66
+ Ref:"products"."id" < "order_items"."product_id"
67
+
68
+ Ref:"countries"."code" < "users"."country_code"
69
+
70
+ Ref:"countries"."code" < "merchants"."country_code"
71
+
72
+ Ref:"merchants"."id" < "products"."merchant_id"
73
+
74
+ Ref:"users"."id" < "merchants"."admin_id"
@@ -0,0 +1,170 @@
1
+ Table "staff" {
2
+ "id" int [pk]
3
+ "first_name" varchar(255)
4
+ "last_name" varchar(255)
5
+ "address_id" int
6
+ "picture" blob
7
+ "email" varchar(255)
8
+ "store_id" int
9
+ "active" boolean
10
+ "user_name" varchar(255)
11
+ "password" varchar(255)
12
+ "last_update" timestamp
13
+ }
14
+
15
+ Table "store" {
16
+ "id" int [pk]
17
+ "manager_staff_id" int
18
+ "address_id" int
19
+ "last_update" timestamp
20
+ }
21
+
22
+ Table "payment" {
23
+ "id" int [pk]
24
+ "customer_id" int
25
+ "staff_id" int
26
+ "rental_id" int
27
+ "amount" decimal
28
+ "payment_date" datetime
29
+ "last_update" timestamp
30
+ }
31
+
32
+ Table "rental" {
33
+ "id" int [pk]
34
+ "rental_date" datetime
35
+ "inventory_id" int
36
+ "customer_id" int
37
+ "return_date" datetime
38
+ "staff_id" int
39
+ "last_update" timestamp
40
+ }
41
+
42
+ Ref:"store"."id" < "staff"."store_id"
43
+
44
+ Ref:"staff"."id" < "store"."manager_staff_id"
45
+
46
+ Ref:"staff"."id" < "payment"."staff_id"
47
+
48
+ Ref:"rental"."id" < "payment"."rental_id"
49
+
50
+ Ref:"staff"."id" < "rental"."staff_id"
51
+ Table "country" {
52
+ "id" int [pk]
53
+ "country" varchar(255)
54
+ "last_update" timestamp
55
+ }
56
+
57
+ Table "city" {
58
+ "id" int [pk]
59
+ "city" varchar(255)
60
+ "country_id" int
61
+ "last_update" timestamp
62
+ }
63
+
64
+ Table "address" {
65
+ "id" int [pk]
66
+ "address" varchar(255)
67
+ "address2" varchar(255)
68
+ "district" varchar(255)
69
+ "city_id" int
70
+ "postal_code" varchar(255)
71
+ "phone" varchar(255)
72
+ "last_update" timestamp
73
+ }
74
+
75
+ Table "customer" {
76
+ "id" int [pk]
77
+ "store_id" int
78
+ "first_name" varchar(255)
79
+ "last_name" varchar(255)
80
+ "email" varchar(255)
81
+ "address_id" int
82
+ "active" boolean
83
+ "create_Date" timestamp
84
+ "last_update" timestamp
85
+
86
+ Indexes {
87
+ (id, first_name) [type: btree, name: "customer_index_0"]
88
+ }
89
+ }
90
+
91
+ Ref:"country"."id" < "city"."country_id"
92
+
93
+ Ref:"city"."id" < "address"."city_id"
94
+
95
+ Ref:"address"."id" < "customer"."address_id"
96
+ Table "category" {
97
+ "id" int [pk]
98
+ "name" varchar(255)
99
+ "last_update" timestamp
100
+ }
101
+
102
+ Table "film_category" {
103
+ "id" int [pk]
104
+ "category_id" int
105
+ "last_update" timestamp
106
+ }
107
+
108
+ Table "language" {
109
+ "id" int [pk]
110
+ "name" varchar(255)
111
+ "last_update" timestamp
112
+ }
113
+
114
+ Table "film_text" {
115
+ "id" int [pk]
116
+ "film_id" int
117
+ "title" varchar(255)
118
+ "description" text
119
+ }
120
+
121
+ Table "actor" {
122
+ "id" int [pk]
123
+ "first_name" varchar(255)
124
+ "last_name" varchar(255)
125
+ "last_update" timestamp
126
+ }
127
+
128
+ Table "film" {
129
+ "id" int [pk]
130
+ "title" varchar(255)
131
+ "description" text
132
+ "releaase_year" int
133
+ "language_id" int
134
+ "original_language_id" int
135
+ "rental_duration" int
136
+ "rental_rate" decimal
137
+ "length" int
138
+ "replacement_cost" decimal
139
+ "rating" varchar(255)
140
+ "special_feature" varchar(255)
141
+ "last_update" timestamp
142
+ }
143
+
144
+ Table "film_actor" {
145
+ "id" int [pk]
146
+ "film_id" int
147
+ "actor_id" int
148
+ "last_update" timestamp
149
+ }
150
+
151
+ Table "inventory" {
152
+ "id" int [pk]
153
+ "film_id" int
154
+ "store_id" int
155
+ "last_update" timestamp
156
+ }
157
+
158
+ Ref:"category"."id" < "film_category"."category_id"
159
+
160
+ Ref:"inventory"."film_id" < "film_text"."film_id"
161
+
162
+ Ref:"language"."id" < "film"."language_id"
163
+
164
+ Ref:"language"."id" < "film"."original_language_id"
165
+
166
+ Ref:"film"."id" < "film_actor"."film_id"
167
+
168
+ Ref:"actor"."id" < "film_actor"."actor_id"
169
+
170
+ Ref:"film"."id" < "inventory"."film_id"