@simplysm/orm-common 13.0.99 → 14.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/dist/create-db-context.d.ts +10 -10
  2. package/dist/create-db-context.js +312 -276
  3. package/dist/create-db-context.js.map +1 -6
  4. package/dist/ddl/column-ddl.d.ts +4 -4
  5. package/dist/ddl/column-ddl.js +41 -35
  6. package/dist/ddl/column-ddl.js.map +1 -6
  7. package/dist/ddl/initialize.d.ts +17 -17
  8. package/dist/ddl/initialize.js +200 -142
  9. package/dist/ddl/initialize.js.map +1 -6
  10. package/dist/ddl/relation-ddl.d.ts +6 -6
  11. package/dist/ddl/relation-ddl.js +55 -48
  12. package/dist/ddl/relation-ddl.js.map +1 -6
  13. package/dist/ddl/schema-ddl.d.ts +4 -4
  14. package/dist/ddl/schema-ddl.js +21 -15
  15. package/dist/ddl/schema-ddl.js.map +1 -6
  16. package/dist/ddl/table-ddl.d.ts +20 -20
  17. package/dist/ddl/table-ddl.js +139 -93
  18. package/dist/ddl/table-ddl.js.map +1 -6
  19. package/dist/define-db-context.js +10 -13
  20. package/dist/define-db-context.js.map +1 -6
  21. package/dist/errors/db-transaction-error.d.ts +15 -15
  22. package/dist/errors/db-transaction-error.d.ts.map +1 -1
  23. package/dist/errors/db-transaction-error.js +53 -19
  24. package/dist/errors/db-transaction-error.js.map +1 -6
  25. package/dist/exec/executable.d.ts +23 -23
  26. package/dist/exec/executable.js +94 -40
  27. package/dist/exec/executable.js.map +1 -6
  28. package/dist/exec/queryable.d.ts +97 -97
  29. package/dist/exec/queryable.js +1310 -1204
  30. package/dist/exec/queryable.js.map +1 -6
  31. package/dist/exec/search-parser.d.ts +31 -31
  32. package/dist/exec/search-parser.d.ts.map +1 -1
  33. package/dist/exec/search-parser.js +158 -59
  34. package/dist/exec/search-parser.js.map +1 -6
  35. package/dist/expr/expr-unit.d.ts +4 -4
  36. package/dist/expr/expr-unit.js +24 -18
  37. package/dist/expr/expr-unit.js.map +1 -6
  38. package/dist/expr/expr.d.ts +6 -6
  39. package/dist/expr/expr.js +1872 -1844
  40. package/dist/expr/expr.js.map +1 -6
  41. package/dist/index.js +23 -1
  42. package/dist/index.js.map +1 -6
  43. package/dist/models/system-migration.js +7 -7
  44. package/dist/models/system-migration.js.map +1 -6
  45. package/dist/query-builder/base/expr-renderer-base.d.ts +10 -10
  46. package/dist/query-builder/base/expr-renderer-base.js +27 -21
  47. package/dist/query-builder/base/expr-renderer-base.js.map +1 -6
  48. package/dist/query-builder/base/query-builder-base.d.ts +21 -21
  49. package/dist/query-builder/base/query-builder-base.d.ts.map +1 -1
  50. package/dist/query-builder/base/query-builder-base.js +90 -80
  51. package/dist/query-builder/base/query-builder-base.js.map +1 -6
  52. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts +4 -4
  53. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts.map +1 -1
  54. package/dist/query-builder/mssql/mssql-expr-renderer.js +447 -420
  55. package/dist/query-builder/mssql/mssql-expr-renderer.js.map +1 -6
  56. package/dist/query-builder/mssql/mssql-query-builder.js +483 -443
  57. package/dist/query-builder/mssql/mssql-query-builder.js.map +1 -6
  58. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts +4 -4
  59. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts.map +1 -1
  60. package/dist/query-builder/mysql/mysql-expr-renderer.js +451 -419
  61. package/dist/query-builder/mysql/mysql-expr-renderer.js.map +1 -6
  62. package/dist/query-builder/mysql/mysql-query-builder.js +570 -479
  63. package/dist/query-builder/mysql/mysql-query-builder.js.map +1 -6
  64. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts +4 -4
  65. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +1 -1
  66. package/dist/query-builder/postgresql/postgresql-expr-renderer.js +449 -422
  67. package/dist/query-builder/postgresql/postgresql-expr-renderer.js.map +1 -6
  68. package/dist/query-builder/postgresql/postgresql-query-builder.js +511 -460
  69. package/dist/query-builder/postgresql/postgresql-query-builder.js.map +1 -6
  70. package/dist/query-builder/query-builder.d.ts +1 -1
  71. package/dist/query-builder/query-builder.js +13 -13
  72. package/dist/query-builder/query-builder.js.map +1 -6
  73. package/dist/schema/factory/column-builder.d.ts +84 -84
  74. package/dist/schema/factory/column-builder.js +248 -185
  75. package/dist/schema/factory/column-builder.js.map +1 -6
  76. package/dist/schema/factory/index-builder.d.ts +38 -38
  77. package/dist/schema/factory/index-builder.js +144 -85
  78. package/dist/schema/factory/index-builder.js.map +1 -6
  79. package/dist/schema/factory/relation-builder.d.ts +91 -91
  80. package/dist/schema/factory/relation-builder.d.ts.map +1 -1
  81. package/dist/schema/factory/relation-builder.js +274 -136
  82. package/dist/schema/factory/relation-builder.js.map +1 -6
  83. package/dist/schema/procedure-builder.d.ts +51 -51
  84. package/dist/schema/procedure-builder.d.ts.map +1 -1
  85. package/dist/schema/procedure-builder.js +205 -131
  86. package/dist/schema/procedure-builder.js.map +1 -6
  87. package/dist/schema/table-builder.d.ts +55 -55
  88. package/dist/schema/table-builder.d.ts.map +1 -1
  89. package/dist/schema/table-builder.js +274 -205
  90. package/dist/schema/table-builder.js.map +1 -6
  91. package/dist/schema/view-builder.d.ts +44 -44
  92. package/dist/schema/view-builder.d.ts.map +1 -1
  93. package/dist/schema/view-builder.js +189 -116
  94. package/dist/schema/view-builder.js.map +1 -6
  95. package/dist/types/column.js +60 -30
  96. package/dist/types/column.js.map +1 -6
  97. package/dist/types/db-context-def.d.ts +9 -9
  98. package/dist/types/db-context-def.js +2 -1
  99. package/dist/types/db-context-def.js.map +1 -6
  100. package/dist/types/db.d.ts +47 -47
  101. package/dist/types/db.js +15 -5
  102. package/dist/types/db.js.map +1 -6
  103. package/dist/types/expr.d.ts +81 -81
  104. package/dist/types/expr.d.ts.map +1 -1
  105. package/dist/types/expr.js +3 -1
  106. package/dist/types/expr.js.map +1 -6
  107. package/dist/types/query-def.d.ts +46 -46
  108. package/dist/types/query-def.d.ts.map +1 -1
  109. package/dist/types/query-def.js +31 -24
  110. package/dist/types/query-def.js.map +1 -6
  111. package/dist/utils/result-parser.js +362 -221
  112. package/dist/utils/result-parser.js.map +1 -6
  113. package/package.json +5 -7
  114. package/src/create-db-context.ts +31 -31
  115. package/src/ddl/column-ddl.ts +4 -4
  116. package/src/ddl/initialize.ts +38 -38
  117. package/src/ddl/relation-ddl.ts +6 -6
  118. package/src/ddl/schema-ddl.ts +4 -4
  119. package/src/ddl/table-ddl.ts +24 -24
  120. package/src/errors/db-transaction-error.ts +13 -13
  121. package/src/exec/executable.ts +25 -25
  122. package/src/exec/queryable.ts +134 -134
  123. package/src/exec/search-parser.ts +50 -50
  124. package/src/expr/expr-unit.ts +4 -4
  125. package/src/expr/expr.ts +13 -13
  126. package/src/index.ts +8 -8
  127. package/src/models/system-migration.ts +1 -1
  128. package/src/query-builder/base/expr-renderer-base.ts +21 -21
  129. package/src/query-builder/base/query-builder-base.ts +33 -33
  130. package/src/query-builder/mssql/mssql-expr-renderer.ts +11 -11
  131. package/src/query-builder/mssql/mssql-query-builder.ts +11 -11
  132. package/src/query-builder/mysql/mysql-expr-renderer.ts +15 -15
  133. package/src/query-builder/mysql/mysql-query-builder.ts +3 -3
  134. package/src/query-builder/postgresql/postgresql-expr-renderer.ts +9 -9
  135. package/src/query-builder/postgresql/postgresql-query-builder.ts +7 -7
  136. package/src/query-builder/query-builder.ts +1 -1
  137. package/src/schema/factory/column-builder.ts +86 -86
  138. package/src/schema/factory/index-builder.ts +38 -38
  139. package/src/schema/factory/relation-builder.ts +93 -93
  140. package/src/schema/procedure-builder.ts +52 -52
  141. package/src/schema/table-builder.ts +56 -56
  142. package/src/schema/view-builder.ts +45 -45
  143. package/src/types/column.ts +1 -1
  144. package/src/types/db-context-def.ts +15 -15
  145. package/src/types/db.ts +50 -50
  146. package/src/types/expr.ts +103 -103
  147. package/src/types/query-def.ts +50 -50
  148. package/src/utils/result-parser.ts +39 -39
  149. package/README.md +0 -192
  150. package/docs/core.md +0 -234
  151. package/docs/expression.md +0 -234
  152. package/docs/query-builder.md +0 -93
  153. package/docs/queryable.md +0 -198
  154. package/docs/schema-builders.md +0 -463
  155. package/docs/types.md +0 -445
  156. package/docs/utilities.md +0 -27
  157. package/tests/db-context/create-db-context.spec.ts +0 -193
  158. package/tests/db-context/define-db-context.spec.ts +0 -17
  159. package/tests/ddl/basic.expected.ts +0 -341
  160. package/tests/ddl/basic.spec.ts +0 -557
  161. package/tests/ddl/column-builder.expected.ts +0 -310
  162. package/tests/ddl/column-builder.spec.ts +0 -525
  163. package/tests/ddl/index-builder.expected.ts +0 -38
  164. package/tests/ddl/index-builder.spec.ts +0 -148
  165. package/tests/ddl/procedure-builder.expected.ts +0 -52
  166. package/tests/ddl/procedure-builder.spec.ts +0 -128
  167. package/tests/ddl/relation-builder.expected.ts +0 -36
  168. package/tests/ddl/relation-builder.spec.ts +0 -171
  169. package/tests/ddl/table-builder.expected.ts +0 -113
  170. package/tests/ddl/table-builder.spec.ts +0 -399
  171. package/tests/ddl/view-builder.expected.ts +0 -38
  172. package/tests/ddl/view-builder.spec.ts +0 -116
  173. package/tests/dml/delete.expected.ts +0 -96
  174. package/tests/dml/delete.spec.ts +0 -127
  175. package/tests/dml/insert.expected.ts +0 -192
  176. package/tests/dml/insert.spec.ts +0 -210
  177. package/tests/dml/update.expected.ts +0 -176
  178. package/tests/dml/update.spec.ts +0 -222
  179. package/tests/dml/upsert.expected.ts +0 -215
  180. package/tests/dml/upsert.spec.ts +0 -190
  181. package/tests/errors/queryable-errors.spec.ts +0 -126
  182. package/tests/escape.spec.ts +0 -59
  183. package/tests/examples/pivot.expected.ts +0 -211
  184. package/tests/examples/pivot.spec.ts +0 -200
  185. package/tests/examples/sampling.expected.ts +0 -69
  186. package/tests/examples/sampling.spec.ts +0 -42
  187. package/tests/examples/unpivot.expected.ts +0 -120
  188. package/tests/examples/unpivot.spec.ts +0 -161
  189. package/tests/exec/search-parser.spec.ts +0 -267
  190. package/tests/executable/basic.expected.ts +0 -18
  191. package/tests/executable/basic.spec.ts +0 -54
  192. package/tests/expr/comparison.expected.ts +0 -282
  193. package/tests/expr/comparison.spec.ts +0 -334
  194. package/tests/expr/conditional.expected.ts +0 -134
  195. package/tests/expr/conditional.spec.ts +0 -249
  196. package/tests/expr/date.expected.ts +0 -332
  197. package/tests/expr/date.spec.ts +0 -459
  198. package/tests/expr/math.expected.ts +0 -62
  199. package/tests/expr/math.spec.ts +0 -59
  200. package/tests/expr/string.expected.ts +0 -218
  201. package/tests/expr/string.spec.ts +0 -300
  202. package/tests/expr/utility.expected.ts +0 -147
  203. package/tests/expr/utility.spec.ts +0 -155
  204. package/tests/select/basic.expected.ts +0 -322
  205. package/tests/select/basic.spec.ts +0 -433
  206. package/tests/select/filter.expected.ts +0 -357
  207. package/tests/select/filter.spec.ts +0 -954
  208. package/tests/select/group.expected.ts +0 -169
  209. package/tests/select/group.spec.ts +0 -159
  210. package/tests/select/join.expected.ts +0 -582
  211. package/tests/select/join.spec.ts +0 -692
  212. package/tests/select/order.expected.ts +0 -150
  213. package/tests/select/order.spec.ts +0 -140
  214. package/tests/select/recursive-cte.expected.ts +0 -244
  215. package/tests/select/recursive-cte.spec.ts +0 -514
  216. package/tests/select/result-meta.spec.ts +0 -270
  217. package/tests/select/subquery.expected.ts +0 -363
  218. package/tests/select/subquery.spec.ts +0 -441
  219. package/tests/select/view.expected.ts +0 -155
  220. package/tests/select/view.spec.ts +0 -235
  221. package/tests/select/window.expected.ts +0 -345
  222. package/tests/select/window.spec.ts +0 -433
  223. package/tests/setup/MockExecutor.ts +0 -18
  224. package/tests/setup/TestDbContext.ts +0 -59
  225. package/tests/setup/models/Company.ts +0 -13
  226. package/tests/setup/models/Employee.ts +0 -10
  227. package/tests/setup/models/MonthlySales.ts +0 -11
  228. package/tests/setup/models/Post.ts +0 -16
  229. package/tests/setup/models/Sales.ts +0 -10
  230. package/tests/setup/models/User.ts +0 -19
  231. package/tests/setup/procedure/GetAllUsers.ts +0 -9
  232. package/tests/setup/procedure/GetUserById.ts +0 -12
  233. package/tests/setup/test-utils.ts +0 -72
  234. package/tests/setup/views/ActiveUsers.ts +0 -8
  235. package/tests/setup/views/UserSummary.ts +0 -11
  236. package/tests/types/nullable-queryable-record.spec.ts +0 -97
  237. package/tests/utils/result-parser-perf.spec.ts +0 -143
  238. package/tests/utils/result-parser.spec.ts +0 -667
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/create-db-context.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
1
+ {"version":3,"file":"create-db-context.js","sourceRoot":"","sources":["..\\src\\create-db-context.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,19 @@
1
1
  import type { ColumnBuilder } from "../schema/factory/column-builder";
2
2
  import type { QueryDefObjectName, AddColumnQueryDef, DropColumnQueryDef, ModifyColumnQueryDef, RenameColumnQueryDef } from "../types/query-def";
3
3
  /**
4
- * Generate ADD COLUMN QueryDef
4
+ * ADD COLUMN QueryDef 생성
5
5
  */
6
6
  export declare function getAddColumnQueryDef(table: QueryDefObjectName, columnName: string, column: ColumnBuilder<any, any>): AddColumnQueryDef;
7
7
  /**
8
- * Generate DROP COLUMN QueryDef
8
+ * DROP COLUMN QueryDef 생성
9
9
  */
10
10
  export declare function getDropColumnQueryDef(table: QueryDefObjectName, column: string): DropColumnQueryDef;
11
11
  /**
12
- * Generate MODIFY COLUMN QueryDef
12
+ * MODIFY COLUMN QueryDef 생성
13
13
  */
14
14
  export declare function getModifyColumnQueryDef(table: QueryDefObjectName, columnName: string, column: ColumnBuilder<any, any>): ModifyColumnQueryDef;
15
15
  /**
16
- * Generate RENAME COLUMN QueryDef
16
+ * RENAME COLUMN QueryDef 생성
17
17
  */
18
18
  export declare function getRenameColumnQueryDef(table: QueryDefObjectName, column: string, newName: string): RenameColumnQueryDef;
19
19
  //# sourceMappingURL=column-ddl.d.ts.map
@@ -1,39 +1,45 @@
1
- function getAddColumnQueryDef(table, columnName, column) {
2
- return {
3
- type: "addColumn",
4
- table,
5
- column: {
6
- name: columnName,
7
- dataType: column.meta.dataType,
8
- autoIncrement: column.meta.autoIncrement,
9
- nullable: column.meta.nullable,
10
- default: column.meta.default
11
- }
12
- };
1
+ /**
2
+ * ADD COLUMN QueryDef 생성
3
+ */
4
+ export function getAddColumnQueryDef(table, columnName, column) {
5
+ return {
6
+ type: "addColumn",
7
+ table,
8
+ column: {
9
+ name: columnName,
10
+ dataType: column.meta.dataType,
11
+ autoIncrement: column.meta.autoIncrement,
12
+ nullable: column.meta.nullable,
13
+ default: column.meta.default,
14
+ },
15
+ };
13
16
  }
14
- function getDropColumnQueryDef(table, column) {
15
- return { type: "dropColumn", table, column };
17
+ /**
18
+ * DROP COLUMN QueryDef 생성
19
+ */
20
+ export function getDropColumnQueryDef(table, column) {
21
+ return { type: "dropColumn", table, column };
16
22
  }
17
- function getModifyColumnQueryDef(table, columnName, column) {
18
- return {
19
- type: "modifyColumn",
20
- table,
21
- column: {
22
- name: columnName,
23
- dataType: column.meta.dataType,
24
- autoIncrement: column.meta.autoIncrement,
25
- nullable: column.meta.nullable,
26
- default: column.meta.default
27
- }
28
- };
23
+ /**
24
+ * MODIFY COLUMN QueryDef 생성
25
+ */
26
+ export function getModifyColumnQueryDef(table, columnName, column) {
27
+ return {
28
+ type: "modifyColumn",
29
+ table,
30
+ column: {
31
+ name: columnName,
32
+ dataType: column.meta.dataType,
33
+ autoIncrement: column.meta.autoIncrement,
34
+ nullable: column.meta.nullable,
35
+ default: column.meta.default,
36
+ },
37
+ };
29
38
  }
30
- function getRenameColumnQueryDef(table, column, newName) {
31
- return { type: "renameColumn", table, column, newName };
39
+ /**
40
+ * RENAME COLUMN QueryDef 생성
41
+ */
42
+ export function getRenameColumnQueryDef(table, column, newName) {
43
+ return { type: "renameColumn", table, column, newName };
32
44
  }
33
- export {
34
- getAddColumnQueryDef,
35
- getDropColumnQueryDef,
36
- getModifyColumnQueryDef,
37
- getRenameColumnQueryDef
38
- };
39
- //# sourceMappingURL=column-ddl.js.map
45
+ //# sourceMappingURL=column-ddl.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/ddl/column-ddl.ts"],
4
- "mappings": "AAYO,SAAS,qBACd,OACA,YACA,QACmB;AACnB,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,UAAU,OAAO,KAAK;AAAA,MACtB,eAAe,OAAO,KAAK;AAAA,MAC3B,UAAU,OAAO,KAAK;AAAA,MACtB,SAAS,OAAO,KAAK;AAAA,IACvB;AAAA,EACF;AACF;AAKO,SAAS,sBACd,OACA,QACoB;AACpB,SAAO,EAAE,MAAM,cAAc,OAAO,OAAO;AAC7C;AAKO,SAAS,wBACd,OACA,YACA,QACsB;AACtB,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,UAAU,OAAO,KAAK;AAAA,MACtB,eAAe,OAAO,KAAK;AAAA,MAC3B,UAAU,OAAO,KAAK;AAAA,MACtB,SAAS,OAAO,KAAK;AAAA,IACvB;AAAA,EACF;AACF;AAKO,SAAS,wBACd,OACA,QACA,SACsB;AACtB,SAAO,EAAE,MAAM,gBAAgB,OAAO,QAAQ,QAAQ;AACxD;",
5
- "names": []
6
- }
1
+ {"version":3,"file":"column-ddl.js","sourceRoot":"","sources":["..\\..\\src\\ddl\\column-ddl.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAyB,EACzB,UAAkB,EAClB,MAA+B;IAE/B,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,KAAK;QACL,MAAM,EAAE;YACN,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;YAC9B,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa;YACxC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;YAC9B,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;SAC7B;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAyB,EACzB,MAAc;IAEd,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAyB,EACzB,UAAkB,EAClB,MAA+B;IAE/B,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,KAAK;QACL,MAAM,EAAE;YACN,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;YAC9B,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa;YACxC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;YAC9B,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO;SAC7B;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAyB,EACzB,MAAc,EACd,OAAe;IAEf,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC1D,CAAC"}
@@ -1,24 +1,24 @@
1
1
  import type { DbContextBase, DbContextDef, DbContextDdlMethods } from "../types/db-context-def";
2
2
  import type { Queryable } from "../exec/queryable";
3
3
  /**
4
- * Code First Database Initialize
4
+ * Code First 데이터베이스 초기화
5
5
  *
6
- * Creates Tables/Views/Procedures defined in DbContext to Database and
7
- * applies migrations
6
+ * DbContext에 정의된 Table/View/Procedure를 데이터베이스에 생성하고
7
+ * migration을 적용한다
8
8
  *
9
- * @param db - DbContext instance
10
- * @param def - DbContext definition
11
- * @param options - Initialize options
12
- * @param options.dbs - List of target Databases for initialize (current database if not specified)
13
- * @param options.force - If true, delete existing schema and recreate all
14
- * @throws {Error} When there is no Database to initialize
15
- * @throws {Error} When the specified Database does not exist
9
+ * @param db - DbContext 인스턴스
10
+ * @param def - DbContext 정의
11
+ * @param options - 초기화 옵션
12
+ * @param options.dbs - 초기화 대상 데이터베이스 목록 (미지정 현재 데이터베이스)
13
+ * @param options.force - true이면 기존 schema 삭제하고 모두 재생성
14
+ * @throws {Error} 초기화할 데이터베이스가 없을
15
+ * @throws {Error} 지정된 데이터베이스가 존재하지 않을
16
16
  *
17
- * Behavior:
18
- * - **force=true**: clearSchema → create allregister all migrations as "applied"
19
- * - **force=false** (default):
20
- * - No _Migration Table: create all + register all migrations
21
- * - _Migration Table exists: execute only unapplied migrations
17
+ * 동작:
18
+ * - **force=true**: clearSchema → 전체 생성모든 migration을 "적용됨"으로 등록
19
+ * - **force=false** (기본값):
20
+ * - _Migration 테이블 없음: 전체 생성 + 모든 migration 등록
21
+ * - _Migration 테이블 있음: 미적용 migration만 실행
22
22
  */
23
23
  export declare function initialize(db: DbContextBase & DbContextDdlMethods & {
24
24
  _migration: () => Queryable<{
@@ -29,8 +29,8 @@ export declare function initialize(db: DbContextBase & DbContextDdlMethods & {
29
29
  force?: boolean;
30
30
  }): Promise<void>;
31
31
  /**
32
- * Validate ForeignKeyTarget/RelationKeyTarget relations
33
- * - Checks if the table returned by targetTableFn() has a FK/RelationKey matching the relationName
32
+ * ForeignKeyTarget/RelationKeyTarget 관계 검증
33
+ * - targetTableFn() 반환하는 테이블에 relationName과 일치하는 FK/RelationKey 있는지 확인
34
34
  */
35
35
  export declare function validateRelations(def: DbContextDef<any, any, any>): void;
36
36
  //# sourceMappingURL=initialize.d.ts.map
@@ -1,157 +1,215 @@
1
1
  import { TableBuilder } from "../schema/table-builder.js";
2
2
  import { ViewBuilder } from "../schema/view-builder.js";
3
3
  import { ProcedureBuilder } from "../schema/procedure-builder.js";
4
- import {
5
- ForeignKeyBuilder,
6
- RelationKeyBuilder,
7
- ForeignKeyTargetBuilder,
8
- RelationKeyTargetBuilder
9
- } from "../schema/factory/relation-builder.js";
4
+ import { ForeignKeyBuilder, RelationKeyBuilder, ForeignKeyTargetBuilder, RelationKeyTargetBuilder, } from "../schema/factory/relation-builder.js";
10
5
  import { getCreateObjectQueryDef } from "./table-ddl.js";
11
6
  import { getAddForeignKeyQueryDef, getAddIndexQueryDef } from "./relation-ddl.js";
12
7
  import { getClearSchemaQueryDef, getSchemaExistsQueryDef } from "./schema-ddl.js";
13
- async function initialize(db, def, options) {
14
- const dbNames = (options == null ? void 0 : options.dbs) ?? (db.database !== void 0 ? [db.database] : []);
15
- if (dbNames.length < 1) {
16
- throw new Error("No Database to initialize.");
17
- }
18
- const force = (options == null ? void 0 : options.force) ?? false;
19
- for (const dbName of dbNames) {
20
- const schemaExistsDef = getSchemaExistsQueryDef(dbName, db.schema);
21
- const result = await db.executeDefs([schemaExistsDef]);
22
- const schemaExists = result[0].length > 0;
23
- if (!schemaExists) {
24
- throw new Error(`Database '${dbName}' does not exist.`);
25
- }
26
- }
27
- if (force) {
8
+ /**
9
+ * Code First 데이터베이스 초기화
10
+ *
11
+ * DbContext에 정의된 Table/View/Procedure를 데이터베이스에 생성하고
12
+ * migration을 적용한다
13
+ *
14
+ * @param db - DbContext 인스턴스
15
+ * @param def - DbContext 정의
16
+ * @param options - 초기화 옵션
17
+ * @param options.dbs - 초기화 대상 데이터베이스 목록 (미지정 시 현재 데이터베이스)
18
+ * @param options.force - true이면 기존 schema를 삭제하고 모두 재생성
19
+ * @throws {Error} 초기화할 데이터베이스가 없을 때
20
+ * @throws {Error} 지정된 데이터베이스가 존재하지 않을 때
21
+ *
22
+ * 동작:
23
+ * - **force=true**: clearSchema → 전체 생성 → 모든 migration을 "적용됨"으로 등록
24
+ * - **force=false** (기본값):
25
+ * - _Migration 테이블 없음: 전체 생성 + 모든 migration 등록
26
+ * - _Migration 테이블 있음: 미적용 migration만 실행
27
+ */
28
+ export async function initialize(db, def, options) {
29
+ const dbNames = options?.dbs ?? (db.database !== undefined ? [db.database] : []);
30
+ if (dbNames.length < 1) {
31
+ throw new Error("초기화할 데이터베이스가 없습니다.");
32
+ }
33
+ const force = options?.force ?? false;
34
+ // 1. DB 존재 여부 확인
28
35
  for (const dbName of dbNames) {
29
- const clearDef = getClearSchemaQueryDef({ database: dbName, schema: db.schema });
30
- await db.executeDefs([clearDef]);
31
- }
32
- await createAllObjects(db, def);
33
- if (def.meta.migrations.length > 0) {
34
- await db._migration().insert(def.meta.migrations.map((m) => ({ code: m.name })));
35
- }
36
- } else {
37
- let appliedMigrations;
38
- try {
39
- appliedMigrations = await db._migration().execute();
40
- } catch (err) {
41
- if (!isTableNotExistsError(err)) {
42
- throw err;
43
- }
44
- }
45
- if (appliedMigrations == null) {
46
- await createAllObjects(db, def);
47
- if (def.meta.migrations.length > 0) {
48
- await db._migration().insert(def.meta.migrations.map((m) => ({ code: m.name })));
49
- }
50
- } else {
51
- const appliedCodes = new Set(appliedMigrations.map((m) => m.code));
52
- const pendingMigrations = def.meta.migrations.filter((m) => !appliedCodes.has(m.name));
53
- for (const migration of pendingMigrations) {
54
- await migration.up(db);
55
- await db._migration().insert([{ code: migration.name }]);
56
- }
57
- }
58
- }
36
+ const schemaExistsDef = getSchemaExistsQueryDef(dbName, db.schema);
37
+ const result = await db.executeDefs([schemaExistsDef]);
38
+ const schemaExists = result[0].length > 0;
39
+ if (!schemaExists) {
40
+ throw new Error(`데이터베이스 '${dbName}'이(가) 존재하지 않습니다.`);
41
+ }
42
+ }
43
+ if (force) {
44
+ // 2. force: 모든 DB 초기화
45
+ for (const dbName of dbNames) {
46
+ const clearDef = getClearSchemaQueryDef({ database: dbName, schema: db.schema });
47
+ await db.executeDefs([clearDef]);
48
+ }
49
+ await createAllObjects(db, def);
50
+ // 모든 migration을 "적용됨"으로 등록
51
+ if (def.meta.migrations.length > 0) {
52
+ await db._migration().insert(def.meta.migrations.map((m) => ({ code: m.name })));
53
+ }
54
+ }
55
+ else {
56
+ // 3. Migration 기반 초기화
57
+ let appliedMigrations;
58
+ try {
59
+ appliedMigrations = await db._migration().execute();
60
+ }
61
+ catch (err) {
62
+ // 테이블 없음 = 새 환경
63
+ if (!isTableNotExistsError(err)) {
64
+ throw err;
65
+ }
66
+ }
67
+ if (appliedMigrations == null) {
68
+ // 새 환경: 전체 생성
69
+ await createAllObjects(db, def);
70
+ // 모든 migration을 "적용됨"으로 등록
71
+ if (def.meta.migrations.length > 0) {
72
+ await db._migration().insert(def.meta.migrations.map((m) => ({ code: m.name })));
73
+ }
74
+ }
75
+ else {
76
+ // 기존 환경: 미적용 migration만 실행
77
+ const appliedCodes = new Set(appliedMigrations.map((m) => m.code));
78
+ const pendingMigrations = def.meta.migrations.filter((m) => !appliedCodes.has(m.name));
79
+ for (const migration of pendingMigrations) {
80
+ await migration.up(db);
81
+ await db._migration().insert([{ code: migration.name }]);
82
+ }
83
+ }
84
+ }
59
85
  }
86
+ /**
87
+ * 모든 객체 생성 (table/view/procedure/FK/index)
88
+ */
60
89
  async function createAllObjects(db, def) {
61
- const builders = getBuilders(def);
62
- const createDefs = [];
63
- for (const builder of builders) {
64
- createDefs.push(getCreateObjectQueryDef(db, builder));
65
- }
66
- if (createDefs.length > 0) {
67
- await db.executeDefs(createDefs);
68
- }
69
- const tables = builders.filter((b) => b instanceof TableBuilder);
70
- const addFkDefs = [];
71
- for (const table of tables) {
72
- const relations = table.meta.relations;
73
- if (relations == null) continue;
74
- const tableDef = db.getQueryDefObjectName(table);
75
- for (const [relationName, relationDef] of Object.entries(relations)) {
76
- if (!(relationDef instanceof ForeignKeyBuilder)) continue;
77
- addFkDefs.push(getAddForeignKeyQueryDef(db, tableDef, relationName, relationDef));
78
- }
79
- }
80
- if (addFkDefs.length > 0) {
81
- await db.executeDefs(addFkDefs);
82
- }
83
- const createIndexDefs = [];
84
- for (const table of tables) {
85
- const indexes = table.meta.indexes;
86
- if (indexes == null || indexes.length === 0) continue;
87
- const indexTableDef = db.getQueryDefObjectName(table);
88
- for (const indexBuilder of indexes) {
89
- createIndexDefs.push(getAddIndexQueryDef(indexTableDef, indexBuilder));
90
- }
91
- }
92
- if (createIndexDefs.length > 0) {
93
- await db.executeDefs(createIndexDefs);
94
- }
90
+ // 1. Table/View/Procedure 생성
91
+ const builders = getBuilders(def);
92
+ const createDefs = [];
93
+ for (const builder of builders) {
94
+ createDefs.push(getCreateObjectQueryDef(db, builder));
95
+ }
96
+ if (createDefs.length > 0) {
97
+ await db.executeDefs(createDefs);
98
+ }
99
+ // 2. FK 생성 (TableBuilder만)
100
+ const tables = builders.filter((b) => b instanceof TableBuilder);
101
+ const addFkDefs = [];
102
+ for (const table of tables) {
103
+ const relations = table.meta.relations;
104
+ if (relations == null)
105
+ continue;
106
+ const tableDef = db.getQueryDefObjectName(table);
107
+ for (const [relationName, relationDef] of Object.entries(relations)) {
108
+ if (!(relationDef instanceof ForeignKeyBuilder))
109
+ continue;
110
+ addFkDefs.push(getAddForeignKeyQueryDef(db, tableDef, relationName, relationDef));
111
+ }
112
+ }
113
+ if (addFkDefs.length > 0) {
114
+ await db.executeDefs(addFkDefs);
115
+ }
116
+ // 3. Index 생성 (TableBuilder만)
117
+ const createIndexDefs = [];
118
+ for (const table of tables) {
119
+ const indexes = table.meta.indexes;
120
+ if (indexes == null || indexes.length === 0)
121
+ continue;
122
+ const indexTableDef = db.getQueryDefObjectName(table);
123
+ for (const indexBuilder of indexes) {
124
+ createIndexDefs.push(getAddIndexQueryDef(indexTableDef, indexBuilder));
125
+ }
126
+ }
127
+ if (createIndexDefs.length > 0) {
128
+ await db.executeDefs(createIndexDefs);
129
+ }
95
130
  }
131
+ /**
132
+ * DbContext에서 모든 builder 수집 (Table/View/Procedure)
133
+ */
96
134
  function getBuilders(def) {
97
- const builders = [];
98
- const tables = Object.values(def.meta.tables);
99
- for (const table of tables) {
100
- builders.push(table);
101
- }
102
- const views = Object.values(def.meta.views);
103
- for (const view of views) {
104
- builders.push(view);
105
- }
106
- const procs = Object.values(def.meta.procedures);
107
- for (const proc of procs) {
108
- builders.push(proc);
109
- }
110
- return builders;
135
+ const builders = [];
136
+ // Tables
137
+ const tables = Object.values(def.meta.tables);
138
+ for (const table of tables) {
139
+ builders.push(table);
140
+ }
141
+ // Views
142
+ const views = Object.values(def.meta.views);
143
+ for (const view of views) {
144
+ builders.push(view);
145
+ }
146
+ // Procedures
147
+ const procs = Object.values(def.meta.procedures);
148
+ for (const proc of procs) {
149
+ builders.push(proc);
150
+ }
151
+ return builders;
111
152
  }
112
- function validateRelations(def) {
113
- var _a;
114
- const builders = getBuilders(def);
115
- const tables = builders.filter((b) => b instanceof TableBuilder);
116
- for (const table of tables) {
117
- const relations = table.meta.relations;
118
- if (relations == null) continue;
119
- for (const [relName, relDef] of Object.entries(relations)) {
120
- if (!(relDef instanceof ForeignKeyTargetBuilder) && !(relDef instanceof RelationKeyTargetBuilder)) {
121
- continue;
122
- }
123
- const targetTable = relDef.meta.targetTableFn();
124
- const fkRelName = relDef.meta.relationName;
125
- const fkRel = (_a = targetTable.meta.relations) == null ? void 0 : _a[fkRelName];
126
- if (!(fkRel instanceof ForeignKeyBuilder) && !(fkRel instanceof RelationKeyBuilder)) {
127
- throw new Error(
128
- `Invalid relation target: '${fkRelName}' referenced by ${table.meta.name}.${relName} is not a valid ForeignKey/RelationKey in ${targetTable.meta.name}.`
129
- );
130
- }
131
- }
132
- }
153
+ /**
154
+ * ForeignKeyTarget/RelationKeyTarget 관계 검증
155
+ * - targetTableFn()이 반환하는 테이블에 relationName과 일치하는 FK/RelationKey가 있는지 확인
156
+ */
157
+ export function validateRelations(def) {
158
+ const builders = getBuilders(def);
159
+ const tables = builders.filter((b) => b instanceof TableBuilder);
160
+ for (const table of tables) {
161
+ const relations = table.meta.relations;
162
+ if (relations == null)
163
+ continue;
164
+ for (const [relName, relDef] of Object.entries(relations)) {
165
+ if (!(relDef instanceof ForeignKeyTargetBuilder) &&
166
+ !(relDef instanceof RelationKeyTargetBuilder)) {
167
+ continue;
168
+ }
169
+ const targetTable = relDef.meta.targetTableFn();
170
+ const fkRelName = relDef.meta.relationName;
171
+ const fkRel = targetTable.meta.relations?.[fkRelName];
172
+ if (!(fkRel instanceof ForeignKeyBuilder) && !(fkRel instanceof RelationKeyBuilder)) {
173
+ throw new Error(`유효하지 않은 관계 대상: ${table.meta.name}.${relName}이(가) 참조하는 '${fkRelName}'은(는) ` +
174
+ `${targetTable.meta.name}에서 유효한 ForeignKey/RelationKey가 아닙니다.`);
175
+ }
176
+ }
177
+ }
133
178
  }
179
+ /**
180
+ * 오류가 테이블 미존재를 나타내는지 확인
181
+ *
182
+ * DBMS별 오류 코드/메시지 패턴:
183
+ * - MySQL: errno 1146 (ER_NO_SUCH_TABLE), "Table 'xxx' doesn't exist"
184
+ * - MSSQL: number 208, "Invalid object name 'xxx'"
185
+ * - PostgreSQL: code "42P01", "relation \"xxx\" does not exist"
186
+ */
134
187
  function isTableNotExistsError(err) {
135
- if (err == null) return false;
136
- const errObj = err;
137
- if (errObj["errno"] === 1146) return true;
138
- if (errObj["number"] === 208) return true;
139
- if (errObj["code"] === "42P01") return true;
140
- const message = err instanceof Error ? err.message : String(err);
141
- const lowerMessage = message.toLowerCase();
142
- if (lowerMessage.includes("doesn't exist") && lowerMessage.includes("table")) {
143
- return true;
144
- }
145
- if (lowerMessage.includes("invalid object name")) {
146
- return true;
147
- }
148
- if (lowerMessage.includes("does not exist") && lowerMessage.includes("relation")) {
149
- return true;
150
- }
151
- return false;
188
+ if (err == null)
189
+ return false;
190
+ // 오류 코드를 먼저 확인 (다국어 환경에서도 안정적)
191
+ const errObj = err;
192
+ if (errObj["errno"] === 1146)
193
+ return true; // MySQL ER_NO_SUCH_TABLE
194
+ if (errObj["number"] === 208)
195
+ return true; // MSSQL
196
+ if (errObj["code"] === "42P01")
197
+ return true; // PostgreSQL
198
+ // 폴백: 메시지 매칭 (다국어 환경에서는 신뢰할 수 없을 수 있음)
199
+ const message = err instanceof Error ? err.message : String(err);
200
+ const lowerMessage = message.toLowerCase();
201
+ // MySQL: Table 'xxx' doesn't exist
202
+ if (lowerMessage.includes("doesn't exist") && lowerMessage.includes("table")) {
203
+ return true;
204
+ }
205
+ // MSSQL: Invalid object name 'xxx'
206
+ if (lowerMessage.includes("invalid object name")) {
207
+ return true;
208
+ }
209
+ // PostgreSQL: relation "xxx" does not exist
210
+ if (lowerMessage.includes("does not exist") && lowerMessage.includes("relation")) {
211
+ return true;
212
+ }
213
+ return false;
152
214
  }
153
- export {
154
- initialize,
155
- validateRelations
156
- };
157
- //# sourceMappingURL=initialize.js.map
215
+ //# sourceMappingURL=initialize.js.map
@@ -1,6 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/ddl/initialize.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["..\\..\\src\\ddl\\initialize.ts"],"names":[],"mappings":"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"}