@simplysm/orm-common 13.0.100 → 14.0.4

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 (246) hide show
  1. package/README.md +90 -147
  2. package/dist/create-db-context.d.ts +10 -10
  3. package/dist/create-db-context.js +312 -276
  4. package/dist/create-db-context.js.map +1 -6
  5. package/dist/ddl/column-ddl.d.ts +4 -4
  6. package/dist/ddl/column-ddl.js +41 -35
  7. package/dist/ddl/column-ddl.js.map +1 -6
  8. package/dist/ddl/initialize.d.ts +17 -17
  9. package/dist/ddl/initialize.js +200 -142
  10. package/dist/ddl/initialize.js.map +1 -6
  11. package/dist/ddl/relation-ddl.d.ts +6 -6
  12. package/dist/ddl/relation-ddl.js +55 -48
  13. package/dist/ddl/relation-ddl.js.map +1 -6
  14. package/dist/ddl/schema-ddl.d.ts +4 -4
  15. package/dist/ddl/schema-ddl.js +21 -15
  16. package/dist/ddl/schema-ddl.js.map +1 -6
  17. package/dist/ddl/table-ddl.d.ts +20 -20
  18. package/dist/ddl/table-ddl.js +139 -93
  19. package/dist/ddl/table-ddl.js.map +1 -6
  20. package/dist/define-db-context.js +10 -13
  21. package/dist/define-db-context.js.map +1 -6
  22. package/dist/errors/db-transaction-error.d.ts +15 -15
  23. package/dist/errors/db-transaction-error.d.ts.map +1 -1
  24. package/dist/errors/db-transaction-error.js +53 -19
  25. package/dist/errors/db-transaction-error.js.map +1 -6
  26. package/dist/exec/executable.d.ts +23 -23
  27. package/dist/exec/executable.js +94 -40
  28. package/dist/exec/executable.js.map +1 -6
  29. package/dist/exec/queryable.d.ts +97 -97
  30. package/dist/exec/queryable.js +1310 -1204
  31. package/dist/exec/queryable.js.map +1 -6
  32. package/dist/exec/search-parser.d.ts +31 -31
  33. package/dist/exec/search-parser.d.ts.map +1 -1
  34. package/dist/exec/search-parser.js +158 -59
  35. package/dist/exec/search-parser.js.map +1 -6
  36. package/dist/expr/expr-unit.d.ts +4 -4
  37. package/dist/expr/expr-unit.js +24 -18
  38. package/dist/expr/expr-unit.js.map +1 -6
  39. package/dist/expr/expr.d.ts +108 -108
  40. package/dist/expr/expr.js +1872 -1844
  41. package/dist/expr/expr.js.map +1 -6
  42. package/dist/index.js +23 -1
  43. package/dist/index.js.map +1 -6
  44. package/dist/models/system-migration.js +7 -7
  45. package/dist/models/system-migration.js.map +1 -6
  46. package/dist/query-builder/base/expr-renderer-base.d.ts +10 -10
  47. package/dist/query-builder/base/expr-renderer-base.js +27 -21
  48. package/dist/query-builder/base/expr-renderer-base.js.map +1 -6
  49. package/dist/query-builder/base/query-builder-base.d.ts +21 -21
  50. package/dist/query-builder/base/query-builder-base.d.ts.map +1 -1
  51. package/dist/query-builder/base/query-builder-base.js +90 -80
  52. package/dist/query-builder/base/query-builder-base.js.map +1 -6
  53. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts +5 -5
  54. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts.map +1 -1
  55. package/dist/query-builder/mssql/mssql-expr-renderer.js +447 -420
  56. package/dist/query-builder/mssql/mssql-expr-renderer.js.map +1 -6
  57. package/dist/query-builder/mssql/mssql-query-builder.d.ts +2 -2
  58. package/dist/query-builder/mssql/mssql-query-builder.d.ts.map +1 -1
  59. package/dist/query-builder/mssql/mssql-query-builder.js +483 -443
  60. package/dist/query-builder/mssql/mssql-query-builder.js.map +1 -6
  61. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts +5 -5
  62. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts.map +1 -1
  63. package/dist/query-builder/mysql/mysql-expr-renderer.js +451 -419
  64. package/dist/query-builder/mysql/mysql-expr-renderer.js.map +1 -6
  65. package/dist/query-builder/mysql/mysql-query-builder.d.ts +10 -10
  66. package/dist/query-builder/mysql/mysql-query-builder.d.ts.map +1 -1
  67. package/dist/query-builder/mysql/mysql-query-builder.js +570 -479
  68. package/dist/query-builder/mysql/mysql-query-builder.js.map +1 -6
  69. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts +5 -5
  70. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +1 -1
  71. package/dist/query-builder/postgresql/postgresql-expr-renderer.js +449 -422
  72. package/dist/query-builder/postgresql/postgresql-expr-renderer.js.map +1 -6
  73. package/dist/query-builder/postgresql/postgresql-query-builder.d.ts +8 -8
  74. package/dist/query-builder/postgresql/postgresql-query-builder.d.ts.map +1 -1
  75. package/dist/query-builder/postgresql/postgresql-query-builder.js +511 -460
  76. package/dist/query-builder/postgresql/postgresql-query-builder.js.map +1 -6
  77. package/dist/query-builder/query-builder.d.ts +1 -1
  78. package/dist/query-builder/query-builder.js +13 -13
  79. package/dist/query-builder/query-builder.js.map +1 -6
  80. package/dist/schema/factory/column-builder.d.ts +84 -84
  81. package/dist/schema/factory/column-builder.js +248 -185
  82. package/dist/schema/factory/column-builder.js.map +1 -6
  83. package/dist/schema/factory/index-builder.d.ts +38 -38
  84. package/dist/schema/factory/index-builder.js +144 -85
  85. package/dist/schema/factory/index-builder.js.map +1 -6
  86. package/dist/schema/factory/relation-builder.d.ts +99 -99
  87. package/dist/schema/factory/relation-builder.d.ts.map +1 -1
  88. package/dist/schema/factory/relation-builder.js +274 -136
  89. package/dist/schema/factory/relation-builder.js.map +1 -6
  90. package/dist/schema/procedure-builder.d.ts +51 -51
  91. package/dist/schema/procedure-builder.d.ts.map +1 -1
  92. package/dist/schema/procedure-builder.js +205 -131
  93. package/dist/schema/procedure-builder.js.map +1 -6
  94. package/dist/schema/table-builder.d.ts +55 -55
  95. package/dist/schema/table-builder.d.ts.map +1 -1
  96. package/dist/schema/table-builder.js +274 -205
  97. package/dist/schema/table-builder.js.map +1 -6
  98. package/dist/schema/view-builder.d.ts +44 -44
  99. package/dist/schema/view-builder.d.ts.map +1 -1
  100. package/dist/schema/view-builder.js +189 -116
  101. package/dist/schema/view-builder.js.map +1 -6
  102. package/dist/types/column.d.ts +21 -21
  103. package/dist/types/column.js +60 -30
  104. package/dist/types/column.js.map +1 -6
  105. package/dist/types/db-context-def.d.ts +9 -9
  106. package/dist/types/db-context-def.js +2 -1
  107. package/dist/types/db-context-def.js.map +1 -6
  108. package/dist/types/db.d.ts +47 -47
  109. package/dist/types/db.js +15 -5
  110. package/dist/types/db.js.map +1 -6
  111. package/dist/types/expr.d.ts +81 -81
  112. package/dist/types/expr.d.ts.map +1 -1
  113. package/dist/types/expr.js +3 -1
  114. package/dist/types/expr.js.map +1 -6
  115. package/dist/types/query-def.d.ts +46 -46
  116. package/dist/types/query-def.d.ts.map +1 -1
  117. package/dist/types/query-def.js +31 -24
  118. package/dist/types/query-def.js.map +1 -6
  119. package/dist/utils/result-parser.d.ts +11 -11
  120. package/dist/utils/result-parser.js +362 -221
  121. package/dist/utils/result-parser.js.map +1 -6
  122. package/docs/core.md +117 -145
  123. package/docs/expression.md +186 -203
  124. package/docs/query-builder.md +75 -42
  125. package/docs/queryable.md +189 -151
  126. package/docs/schema-builders.md +172 -283
  127. package/docs/types.md +229 -173
  128. package/package.json +7 -5
  129. package/src/create-db-context.ts +31 -31
  130. package/src/ddl/column-ddl.ts +4 -4
  131. package/src/ddl/initialize.ts +38 -38
  132. package/src/ddl/relation-ddl.ts +6 -6
  133. package/src/ddl/schema-ddl.ts +4 -4
  134. package/src/ddl/table-ddl.ts +24 -24
  135. package/src/errors/db-transaction-error.ts +13 -13
  136. package/src/exec/executable.ts +25 -25
  137. package/src/exec/queryable.ts +152 -152
  138. package/src/exec/search-parser.ts +50 -50
  139. package/src/expr/expr-unit.ts +4 -4
  140. package/src/expr/expr.ts +118 -118
  141. package/src/index.ts +8 -8
  142. package/src/models/system-migration.ts +1 -1
  143. package/src/query-builder/base/expr-renderer-base.ts +21 -21
  144. package/src/query-builder/base/query-builder-base.ts +33 -33
  145. package/src/query-builder/mssql/mssql-expr-renderer.ts +28 -28
  146. package/src/query-builder/mssql/mssql-query-builder.ts +37 -37
  147. package/src/query-builder/mysql/mysql-expr-renderer.ts +29 -29
  148. package/src/query-builder/mysql/mysql-query-builder.ts +70 -70
  149. package/src/query-builder/postgresql/postgresql-expr-renderer.ts +22 -22
  150. package/src/query-builder/postgresql/postgresql-query-builder.ts +54 -54
  151. package/src/query-builder/query-builder.ts +1 -1
  152. package/src/schema/factory/column-builder.ts +86 -86
  153. package/src/schema/factory/index-builder.ts +38 -38
  154. package/src/schema/factory/relation-builder.ts +102 -102
  155. package/src/schema/procedure-builder.ts +52 -52
  156. package/src/schema/table-builder.ts +56 -56
  157. package/src/schema/view-builder.ts +47 -47
  158. package/src/types/column.ts +24 -24
  159. package/src/types/db-context-def.ts +15 -15
  160. package/src/types/db.ts +50 -50
  161. package/src/types/expr.ts +103 -103
  162. package/src/types/query-def.ts +50 -50
  163. package/src/utils/result-parser.ts +88 -88
  164. package/docs/utilities.md +0 -27
  165. package/tests/db-context/create-db-context.spec.ts +0 -193
  166. package/tests/db-context/define-db-context.spec.ts +0 -17
  167. package/tests/ddl/basic.expected.ts +0 -341
  168. package/tests/ddl/basic.spec.ts +0 -557
  169. package/tests/ddl/column-builder.expected.ts +0 -310
  170. package/tests/ddl/column-builder.spec.ts +0 -525
  171. package/tests/ddl/index-builder.expected.ts +0 -38
  172. package/tests/ddl/index-builder.spec.ts +0 -148
  173. package/tests/ddl/procedure-builder.expected.ts +0 -52
  174. package/tests/ddl/procedure-builder.spec.ts +0 -128
  175. package/tests/ddl/relation-builder.expected.ts +0 -36
  176. package/tests/ddl/relation-builder.spec.ts +0 -171
  177. package/tests/ddl/table-builder.expected.ts +0 -113
  178. package/tests/ddl/table-builder.spec.ts +0 -399
  179. package/tests/ddl/view-builder.expected.ts +0 -38
  180. package/tests/ddl/view-builder.spec.ts +0 -116
  181. package/tests/dml/delete.expected.ts +0 -96
  182. package/tests/dml/delete.spec.ts +0 -127
  183. package/tests/dml/insert.expected.ts +0 -192
  184. package/tests/dml/insert.spec.ts +0 -210
  185. package/tests/dml/update.expected.ts +0 -176
  186. package/tests/dml/update.spec.ts +0 -222
  187. package/tests/dml/upsert.expected.ts +0 -215
  188. package/tests/dml/upsert.spec.ts +0 -190
  189. package/tests/errors/queryable-errors.spec.ts +0 -126
  190. package/tests/escape.spec.ts +0 -59
  191. package/tests/examples/pivot.expected.ts +0 -211
  192. package/tests/examples/pivot.spec.ts +0 -200
  193. package/tests/examples/sampling.expected.ts +0 -69
  194. package/tests/examples/sampling.spec.ts +0 -42
  195. package/tests/examples/unpivot.expected.ts +0 -120
  196. package/tests/examples/unpivot.spec.ts +0 -161
  197. package/tests/exec/search-parser.spec.ts +0 -267
  198. package/tests/executable/basic.expected.ts +0 -18
  199. package/tests/executable/basic.spec.ts +0 -54
  200. package/tests/expr/comparison.expected.ts +0 -282
  201. package/tests/expr/comparison.spec.ts +0 -334
  202. package/tests/expr/conditional.expected.ts +0 -134
  203. package/tests/expr/conditional.spec.ts +0 -249
  204. package/tests/expr/date.expected.ts +0 -332
  205. package/tests/expr/date.spec.ts +0 -459
  206. package/tests/expr/math.expected.ts +0 -62
  207. package/tests/expr/math.spec.ts +0 -59
  208. package/tests/expr/string.expected.ts +0 -218
  209. package/tests/expr/string.spec.ts +0 -300
  210. package/tests/expr/utility.expected.ts +0 -147
  211. package/tests/expr/utility.spec.ts +0 -155
  212. package/tests/select/basic.expected.ts +0 -322
  213. package/tests/select/basic.spec.ts +0 -433
  214. package/tests/select/filter.expected.ts +0 -357
  215. package/tests/select/filter.spec.ts +0 -954
  216. package/tests/select/group.expected.ts +0 -169
  217. package/tests/select/group.spec.ts +0 -159
  218. package/tests/select/join.expected.ts +0 -582
  219. package/tests/select/join.spec.ts +0 -692
  220. package/tests/select/order.expected.ts +0 -150
  221. package/tests/select/order.spec.ts +0 -140
  222. package/tests/select/recursive-cte.expected.ts +0 -244
  223. package/tests/select/recursive-cte.spec.ts +0 -514
  224. package/tests/select/result-meta.spec.ts +0 -270
  225. package/tests/select/subquery.expected.ts +0 -363
  226. package/tests/select/subquery.spec.ts +0 -441
  227. package/tests/select/view.expected.ts +0 -155
  228. package/tests/select/view.spec.ts +0 -235
  229. package/tests/select/window.expected.ts +0 -345
  230. package/tests/select/window.spec.ts +0 -433
  231. package/tests/setup/MockExecutor.ts +0 -18
  232. package/tests/setup/TestDbContext.ts +0 -59
  233. package/tests/setup/models/Company.ts +0 -13
  234. package/tests/setup/models/Employee.ts +0 -10
  235. package/tests/setup/models/MonthlySales.ts +0 -11
  236. package/tests/setup/models/Post.ts +0 -16
  237. package/tests/setup/models/Sales.ts +0 -10
  238. package/tests/setup/models/User.ts +0 -19
  239. package/tests/setup/procedure/GetAllUsers.ts +0 -9
  240. package/tests/setup/procedure/GetUserById.ts +0 -12
  241. package/tests/setup/test-utils.ts +0 -72
  242. package/tests/setup/views/ActiveUsers.ts +0 -8
  243. package/tests/setup/views/UserSummary.ts +0 -11
  244. package/tests/types/nullable-queryable-record.spec.ts +0 -97
  245. package/tests/utils/result-parser-perf.spec.ts +0 -143
  246. package/tests/utils/result-parser.spec.ts +0 -667
@@ -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": "AAGA,SAAS,oBAAoB;AAC7B,SAAS,mBAAmB;AAC5B,SAAS,wBAAwB;AACjC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,+BAA+B;AACxC,SAAS,0BAA0B,2BAA2B;AAC9D,SAAS,wBAAwB,+BAA+B;AAsBhE,eAAsB,WACpB,IACA,KACA,SACe;AACf,QAAM,WAAU,mCAAS,SAAQ,GAAG,aAAa,SAAY,CAAC,GAAG,QAAQ,IAAI,CAAC;AAC9E,MAAI,QAAQ,SAAS,GAAG;AACtB,UAAM,IAAI,MAAM,4BAA4B;AAAA,EAC9C;AAEA,QAAM,SAAQ,mCAAS,UAAS;AAGhC,aAAW,UAAU,SAAS;AAC5B,UAAM,kBAAkB,wBAAwB,QAAQ,GAAG,MAAM;AACjE,UAAM,SAAS,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC;AACrD,UAAM,eAAe,OAAO,CAAC,EAAE,SAAS;AACxC,QAAI,CAAC,cAAc;AACjB,YAAM,IAAI,MAAM,aAAa,MAAM,mBAAmB;AAAA,IACxD;AAAA,EACF;AAEA,MAAI,OAAO;AAET,eAAW,UAAU,SAAS;AAC5B,YAAM,WAAW,uBAAuB,EAAE,UAAU,QAAQ,QAAQ,GAAG,OAAO,CAAC;AAC/E,YAAM,GAAG,YAAY,CAAC,QAAQ,CAAC;AAAA,IACjC;AACA,UAAM,iBAAiB,IAAI,GAAG;AAG9B,QAAI,IAAI,KAAK,WAAW,SAAS,GAAG;AAClC,YAAM,GAAG,WAAW,EAAE,OAAO,IAAI,KAAK,WAAW,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAAA,IACjF;AAAA,EACF,OAAO;AAEL,QAAI;AACJ,QAAI;AACF,0BAAoB,MAAM,GAAG,WAAW,EAAE,QAAQ;AAAA,IACpD,SAAS,KAAK;AAEZ,UAAI,CAAC,sBAAsB,GAAG,GAAG;AAC/B,cAAM;AAAA,MACR;AAAA,IACF;AAEA,QAAI,qBAAqB,MAAM;AAE7B,YAAM,iBAAiB,IAAI,GAAG;AAG9B,UAAI,IAAI,KAAK,WAAW,SAAS,GAAG;AAClC,cAAM,GAAG,WAAW,EAAE,OAAO,IAAI,KAAK,WAAW,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAAA,MACjF;AAAA,IACF,OAAO;AAEL,YAAM,eAAe,IAAI,IAAI,kBAAkB,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACjE,YAAM,oBAAoB,IAAI,KAAK,WAAW,OAAO,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,IAAI,CAAC;AAErF,iBAAW,aAAa,mBAAmB;AACzC,cAAM,UAAU,GAAG,EAAE;AACrB,cAAM,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,UAAU,KAAK,CAAC,CAAC;AAAA,MACzD;AAAA,IACF;AAAA,EACF;AACF;AAKA,eAAe,iBACb,IACA,KACe;AAEf,QAAM,WAAW,YAAY,GAAG;AAChC,QAAM,aAAyB,CAAC;AAChC,aAAW,WAAW,UAAU;AAC9B,eAAW,KAAK,wBAAwB,IAAI,OAAO,CAAC;AAAA,EACtD;AACA,MAAI,WAAW,SAAS,GAAG;AACzB,UAAM,GAAG,YAAY,UAAU;AAAA,EACjC;AAGA,QAAM,SAAS,SAAS,OAAO,CAAC,MAAM,aAAa,YAAY;AAC/D,QAAM,YAAwB,CAAC;AAC/B,aAAW,SAAS,QAAQ;AAC1B,UAAM,YAAY,MAAM,KAAK;AAC7B,QAAI,aAAa,KAAM;AAEvB,UAAM,WAAW,GAAG,sBAAsB,KAAK;AAC/C,eAAW,CAAC,cAAc,WAAW,KAAK,OAAO,QAAQ,SAAS,GAAG;AACnE,UAAI,EAAE,uBAAuB,mBAAoB;AAEjD,gBAAU,KAAK,yBAAyB,IAAI,UAAU,cAAc,WAAW,CAAC;AAAA,IAClF;AAAA,EACF;AACA,MAAI,UAAU,SAAS,GAAG;AACxB,UAAM,GAAG,YAAY,SAAS;AAAA,EAChC;AAGA,QAAM,kBAA8B,CAAC;AACrC,aAAW,SAAS,QAAQ;AAC1B,UAAM,UAAU,MAAM,KAAK;AAC3B,QAAI,WAAW,QAAQ,QAAQ,WAAW,EAAG;AAE7C,UAAM,gBAAgB,GAAG,sBAAsB,KAAK;AACpD,eAAW,gBAAgB,SAAS;AAClC,sBAAgB,KAAK,oBAAoB,eAAe,YAAY,CAAC;AAAA,IACvE;AAAA,EACF;AACA,MAAI,gBAAgB,SAAS,GAAG;AAC9B,UAAM,GAAG,YAAY,eAAe;AAAA,EACtC;AACF;AAKA,SAAS,YACP,KACsF;AACtF,QAAM,WAIA,CAAC;AAGP,QAAM,SAAmC,OAAO,OAAO,IAAI,KAAK,MAAM;AACtE,aAAW,SAAS,QAAQ;AAC1B,aAAS,KAAK,KAAK;AAAA,EACrB;AAGA,QAAM,QAAsC,OAAO,OAAO,IAAI,KAAK,KAAK;AACxE,aAAW,QAAQ,OAAO;AACxB,aAAS,KAAK,IAAI;AAAA,EACpB;AAGA,QAAM,QAAsC,OAAO,OAAO,IAAI,KAAK,UAAU;AAC7E,aAAW,QAAQ,OAAO;AACxB,aAAS,KAAK,IAAI;AAAA,EACpB;AAEA,SAAO;AACT;AAMO,SAAS,kBAAkB,KAAwC;AA/L1E;AAgME,QAAM,WAAW,YAAY,GAAG;AAChC,QAAM,SAAS,SAAS,OAAO,CAAC,MAAM,aAAa,YAAY;AAE/D,aAAW,SAAS,QAAQ;AAC1B,UAAM,YAAY,MAAM,KAAK;AAC7B,QAAI,aAAa,KAAM;AAEvB,eAAW,CAAC,SAAS,MAAM,KAAK,OAAO,QAAQ,SAAS,GAAG;AACzD,UACE,EAAE,kBAAkB,4BACpB,EAAE,kBAAkB,2BACpB;AACA;AAAA,MACF;AAEA,YAAM,cAAc,OAAO,KAAK,cAAc;AAC9C,YAAM,YAAY,OAAO,KAAK;AAC9B,YAAM,SAAQ,iBAAY,KAAK,cAAjB,mBAA6B;AAE3C,UAAI,EAAE,iBAAiB,sBAAsB,EAAE,iBAAiB,qBAAqB;AACnF,cAAM,IAAI;AAAA,UACR,6BAA6B,SAAS,mBAAmB,MAAM,KAAK,IAAI,IAAI,OAAO,6CACrC,YAAY,KAAK,IAAI;AAAA,QACrE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAUA,SAAS,sBAAsB,KAAuB;AACpD,MAAI,OAAO,KAAM,QAAO;AAGxB,QAAM,SAAS;AACf,MAAI,OAAO,OAAO,MAAM,KAAM,QAAO;AACrC,MAAI,OAAO,QAAQ,MAAM,IAAK,QAAO;AACrC,MAAI,OAAO,MAAM,MAAM,QAAS,QAAO;AAGvC,QAAM,UAAU,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAC/D,QAAM,eAAe,QAAQ,YAAY;AAGzC,MAAI,aAAa,SAAS,eAAe,KAAK,aAAa,SAAS,OAAO,GAAG;AAC5E,WAAO;AAAA,EACT;AAGA,MAAI,aAAa,SAAS,qBAAqB,GAAG;AAChD,WAAO;AAAA,EACT;AAGA,MAAI,aAAa,SAAS,gBAAgB,KAAK,aAAa,SAAS,UAAU,GAAG;AAChF,WAAO;AAAA,EACT;AAEA,SAAO;AACT;",
5
- "names": []
6
- }
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["..\\..\\src\\ddl\\initialize.ts"],"names":[],"mappings":"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"}
@@ -3,27 +3,27 @@ import type { IndexBuilder } from "../schema/factory/index-builder";
3
3
  import type { QueryDef, QueryDefObjectName, AddPrimaryKeyQueryDef, DropPrimaryKeyQueryDef, DropForeignKeyQueryDef, DropIndexQueryDef } from "../types/query-def";
4
4
  import type { DbContextBase } from "../types/db-context-def";
5
5
  /**
6
- * Generate DROP PRIMARY KEY QueryDef
6
+ * DROP PRIMARY KEY QueryDef 생성
7
7
  */
8
8
  export declare function getDropPrimaryKeyQueryDef(table: QueryDefObjectName): DropPrimaryKeyQueryDef;
9
9
  /**
10
- * Generate ADD PRIMARY KEY QueryDef
10
+ * ADD PRIMARY KEY QueryDef 생성
11
11
  */
12
12
  export declare function getAddPrimaryKeyQueryDef(table: QueryDefObjectName, columns: string[]): AddPrimaryKeyQueryDef;
13
13
  /**
14
- * Generate ADD FOREIGN KEY QueryDef
14
+ * ADD FOREIGN KEY QueryDef 생성
15
15
  */
16
16
  export declare function getAddForeignKeyQueryDef(db: DbContextBase, table: QueryDefObjectName, relationName: string, relationDef: ForeignKeyBuilder<any, any>): QueryDef;
17
17
  /**
18
- * ADD INDEX QueryDef Generate
18
+ * ADD INDEX QueryDef 생성
19
19
  */
20
20
  export declare function getAddIndexQueryDef(table: QueryDefObjectName, indexBuilder: IndexBuilder<string[]>): QueryDef;
21
21
  /**
22
- * DROP FOREIGN KEY QueryDef Generate
22
+ * DROP FOREIGN KEY QueryDef 생성
23
23
  */
24
24
  export declare function getDropForeignKeyQueryDef(table: QueryDefObjectName, relationName: string): DropForeignKeyQueryDef;
25
25
  /**
26
- * DROP INDEX QueryDef Generate
26
+ * DROP INDEX QueryDef 생성
27
27
  */
28
28
  export declare function getDropIndexQueryDef(table: QueryDefObjectName, columns: string[]): DropIndexQueryDef;
29
29
  //# sourceMappingURL=relation-ddl.d.ts.map