@simplysm/orm-common 13.0.68 → 13.0.70

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 (204) hide show
  1. package/README.md +54 -1447
  2. package/dist/create-db-context.d.ts +10 -10
  3. package/dist/create-db-context.js +9 -9
  4. package/dist/create-db-context.js.map +1 -1
  5. package/dist/ddl/column-ddl.d.ts +4 -4
  6. package/dist/ddl/initialize.d.ts +17 -17
  7. package/dist/ddl/initialize.js +2 -2
  8. package/dist/ddl/initialize.js.map +1 -1
  9. package/dist/ddl/relation-ddl.d.ts +6 -6
  10. package/dist/ddl/schema-ddl.d.ts +4 -4
  11. package/dist/ddl/table-ddl.d.ts +24 -24
  12. package/dist/ddl/table-ddl.js +4 -4
  13. package/dist/ddl/table-ddl.js.map +1 -1
  14. package/dist/errors/db-transaction-error.d.ts +15 -15
  15. package/dist/errors/db-transaction-error.d.ts.map +1 -1
  16. package/dist/exec/executable.d.ts +23 -23
  17. package/dist/exec/executable.js +3 -3
  18. package/dist/exec/executable.js.map +1 -1
  19. package/dist/exec/queryable.d.ts +160 -160
  20. package/dist/exec/queryable.js +119 -119
  21. package/dist/exec/queryable.js.map +1 -1
  22. package/dist/exec/search-parser.d.ts +37 -37
  23. package/dist/exec/search-parser.d.ts.map +1 -1
  24. package/dist/expr/expr-unit.d.ts +4 -4
  25. package/dist/expr/expr.d.ts +257 -257
  26. package/dist/expr/expr.js +265 -265
  27. package/dist/expr/expr.js.map +1 -1
  28. package/dist/query-builder/base/expr-renderer-base.d.ts +9 -9
  29. package/dist/query-builder/base/expr-renderer-base.js +2 -2
  30. package/dist/query-builder/base/expr-renderer-base.js.map +1 -1
  31. package/dist/query-builder/base/query-builder-base.d.ts +26 -26
  32. package/dist/query-builder/base/query-builder-base.d.ts.map +1 -1
  33. package/dist/query-builder/base/query-builder-base.js +22 -22
  34. package/dist/query-builder/base/query-builder-base.js.map +1 -1
  35. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts +4 -4
  36. package/dist/query-builder/mssql/mssql-expr-renderer.d.ts.map +1 -1
  37. package/dist/query-builder/mssql/mssql-expr-renderer.js +18 -18
  38. package/dist/query-builder/mssql/mssql-expr-renderer.js.map +1 -1
  39. package/dist/query-builder/mssql/mssql-query-builder.d.ts +2 -2
  40. package/dist/query-builder/mssql/mssql-query-builder.d.ts.map +1 -1
  41. package/dist/query-builder/mssql/mssql-query-builder.js +11 -11
  42. package/dist/query-builder/mssql/mssql-query-builder.js.map +1 -1
  43. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts +4 -4
  44. package/dist/query-builder/mysql/mysql-expr-renderer.d.ts.map +1 -1
  45. package/dist/query-builder/mysql/mysql-expr-renderer.js +17 -17
  46. package/dist/query-builder/mysql/mysql-expr-renderer.js.map +1 -1
  47. package/dist/query-builder/mysql/mysql-query-builder.d.ts +8 -8
  48. package/dist/query-builder/mysql/mysql-query-builder.d.ts.map +1 -1
  49. package/dist/query-builder/mysql/mysql-query-builder.js +5 -5
  50. package/dist/query-builder/mysql/mysql-query-builder.js.map +1 -1
  51. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts +4 -4
  52. package/dist/query-builder/postgresql/postgresql-expr-renderer.d.ts.map +1 -1
  53. package/dist/query-builder/postgresql/postgresql-expr-renderer.js +17 -17
  54. package/dist/query-builder/postgresql/postgresql-expr-renderer.js.map +1 -1
  55. package/dist/query-builder/postgresql/postgresql-query-builder.d.ts +5 -5
  56. package/dist/query-builder/postgresql/postgresql-query-builder.d.ts.map +1 -1
  57. package/dist/query-builder/postgresql/postgresql-query-builder.js +8 -8
  58. package/dist/query-builder/postgresql/postgresql-query-builder.js.map +1 -1
  59. package/dist/query-builder/query-builder.d.ts +1 -1
  60. package/dist/schema/factory/column-builder.d.ts +79 -79
  61. package/dist/schema/factory/column-builder.js +42 -42
  62. package/dist/schema/factory/index-builder.d.ts +39 -39
  63. package/dist/schema/factory/index-builder.js +26 -26
  64. package/dist/schema/factory/relation-builder.d.ts +99 -99
  65. package/dist/schema/factory/relation-builder.d.ts.map +1 -1
  66. package/dist/schema/factory/relation-builder.js +38 -38
  67. package/dist/schema/procedure-builder.d.ts +49 -49
  68. package/dist/schema/procedure-builder.d.ts.map +1 -1
  69. package/dist/schema/procedure-builder.js +33 -33
  70. package/dist/schema/table-builder.d.ts +59 -59
  71. package/dist/schema/table-builder.d.ts.map +1 -1
  72. package/dist/schema/table-builder.js +43 -43
  73. package/dist/schema/view-builder.d.ts +49 -49
  74. package/dist/schema/view-builder.d.ts.map +1 -1
  75. package/dist/schema/view-builder.js +32 -32
  76. package/dist/types/column.d.ts +22 -22
  77. package/dist/types/column.js +1 -1
  78. package/dist/types/column.js.map +1 -1
  79. package/dist/types/db.d.ts +40 -40
  80. package/dist/types/expr.d.ts +59 -59
  81. package/dist/types/expr.d.ts.map +1 -1
  82. package/dist/types/query-def.d.ts +44 -44
  83. package/dist/types/query-def.d.ts.map +1 -1
  84. package/dist/utils/result-parser.d.ts +11 -11
  85. package/dist/utils/result-parser.js +3 -3
  86. package/dist/utils/result-parser.js.map +1 -1
  87. package/package.json +5 -5
  88. package/src/create-db-context.ts +20 -20
  89. package/src/ddl/column-ddl.ts +4 -4
  90. package/src/ddl/initialize.ts +259 -259
  91. package/src/ddl/relation-ddl.ts +89 -89
  92. package/src/ddl/schema-ddl.ts +4 -4
  93. package/src/ddl/table-ddl.ts +189 -189
  94. package/src/errors/db-transaction-error.ts +13 -13
  95. package/src/exec/executable.ts +25 -25
  96. package/src/exec/queryable.ts +2033 -2033
  97. package/src/exec/search-parser.ts +57 -57
  98. package/src/expr/expr-unit.ts +4 -4
  99. package/src/expr/expr.ts +2140 -2140
  100. package/src/query-builder/base/expr-renderer-base.ts +237 -237
  101. package/src/query-builder/base/query-builder-base.ts +213 -213
  102. package/src/query-builder/mssql/mssql-expr-renderer.ts +607 -607
  103. package/src/query-builder/mssql/mssql-query-builder.ts +650 -650
  104. package/src/query-builder/mysql/mysql-expr-renderer.ts +613 -613
  105. package/src/query-builder/mysql/mysql-query-builder.ts +759 -759
  106. package/src/query-builder/postgresql/postgresql-expr-renderer.ts +611 -611
  107. package/src/query-builder/postgresql/postgresql-query-builder.ts +686 -686
  108. package/src/query-builder/query-builder.ts +19 -19
  109. package/src/schema/factory/column-builder.ts +423 -423
  110. package/src/schema/factory/index-builder.ts +164 -164
  111. package/src/schema/factory/relation-builder.ts +453 -453
  112. package/src/schema/procedure-builder.ts +232 -232
  113. package/src/schema/table-builder.ts +319 -319
  114. package/src/schema/view-builder.ts +221 -221
  115. package/src/types/column.ts +188 -188
  116. package/src/types/db.ts +208 -208
  117. package/src/types/expr.ts +697 -697
  118. package/src/types/query-def.ts +513 -513
  119. package/src/utils/result-parser.ts +458 -458
  120. package/tests/db-context/create-db-context.spec.ts +224 -0
  121. package/tests/db-context/define-db-context.spec.ts +68 -0
  122. package/tests/ddl/basic.expected.ts +341 -0
  123. package/tests/ddl/basic.spec.ts +714 -0
  124. package/tests/ddl/column-builder.expected.ts +310 -0
  125. package/tests/ddl/column-builder.spec.ts +637 -0
  126. package/tests/ddl/index-builder.expected.ts +38 -0
  127. package/tests/ddl/index-builder.spec.ts +202 -0
  128. package/tests/ddl/procedure-builder.expected.ts +52 -0
  129. package/tests/ddl/procedure-builder.spec.ts +234 -0
  130. package/tests/ddl/relation-builder.expected.ts +36 -0
  131. package/tests/ddl/relation-builder.spec.ts +372 -0
  132. package/tests/ddl/table-builder.expected.ts +113 -0
  133. package/tests/ddl/table-builder.spec.ts +433 -0
  134. package/tests/ddl/view-builder.expected.ts +38 -0
  135. package/tests/ddl/view-builder.spec.ts +176 -0
  136. package/tests/dml/delete.expected.ts +96 -0
  137. package/tests/dml/delete.spec.ts +160 -0
  138. package/tests/dml/insert.expected.ts +192 -0
  139. package/tests/dml/insert.spec.ts +288 -0
  140. package/tests/dml/update.expected.ts +176 -0
  141. package/tests/dml/update.spec.ts +318 -0
  142. package/tests/dml/upsert.expected.ts +215 -0
  143. package/tests/dml/upsert.spec.ts +242 -0
  144. package/tests/errors/queryable-errors.spec.ts +177 -0
  145. package/tests/escape.spec.ts +100 -0
  146. package/tests/examples/pivot.expected.ts +211 -0
  147. package/tests/examples/pivot.spec.ts +533 -0
  148. package/tests/examples/sampling.expected.ts +69 -0
  149. package/tests/examples/sampling.spec.ts +104 -0
  150. package/tests/examples/unpivot.expected.ts +120 -0
  151. package/tests/examples/unpivot.spec.ts +226 -0
  152. package/tests/exec/search-parser.spec.ts +283 -0
  153. package/tests/executable/basic.expected.ts +18 -0
  154. package/tests/executable/basic.spec.ts +54 -0
  155. package/tests/expr/comparison.expected.ts +282 -0
  156. package/tests/expr/comparison.spec.ts +400 -0
  157. package/tests/expr/conditional.expected.ts +134 -0
  158. package/tests/expr/conditional.spec.ts +276 -0
  159. package/tests/expr/date.expected.ts +332 -0
  160. package/tests/expr/date.spec.ts +526 -0
  161. package/tests/expr/math.expected.ts +62 -0
  162. package/tests/expr/math.spec.ts +106 -0
  163. package/tests/expr/string.expected.ts +218 -0
  164. package/tests/expr/string.spec.ts +356 -0
  165. package/tests/expr/utility.expected.ts +147 -0
  166. package/tests/expr/utility.spec.ts +182 -0
  167. package/tests/select/basic.expected.ts +322 -0
  168. package/tests/select/basic.spec.ts +502 -0
  169. package/tests/select/filter.expected.ts +357 -0
  170. package/tests/select/filter.spec.ts +1068 -0
  171. package/tests/select/group.expected.ts +169 -0
  172. package/tests/select/group.spec.ts +244 -0
  173. package/tests/select/join.expected.ts +582 -0
  174. package/tests/select/join.spec.ts +805 -0
  175. package/tests/select/order.expected.ts +150 -0
  176. package/tests/select/order.spec.ts +189 -0
  177. package/tests/select/recursive-cte.expected.ts +244 -0
  178. package/tests/select/recursive-cte.spec.ts +514 -0
  179. package/tests/select/result-meta.spec.ts +270 -0
  180. package/tests/select/subquery.expected.ts +363 -0
  181. package/tests/select/subquery.spec.ts +537 -0
  182. package/tests/select/view.expected.ts +155 -0
  183. package/tests/select/view.spec.ts +235 -0
  184. package/tests/select/window.expected.ts +345 -0
  185. package/tests/select/window.spec.ts +618 -0
  186. package/tests/setup/MockExecutor.ts +18 -0
  187. package/tests/setup/TestDbContext.ts +59 -0
  188. package/tests/setup/models/Company.ts +13 -0
  189. package/tests/setup/models/Employee.ts +10 -0
  190. package/tests/setup/models/MonthlySales.ts +11 -0
  191. package/tests/setup/models/Post.ts +16 -0
  192. package/tests/setup/models/Sales.ts +10 -0
  193. package/tests/setup/models/User.ts +19 -0
  194. package/tests/setup/procedure/GetAllUsers.ts +9 -0
  195. package/tests/setup/procedure/GetUserById.ts +12 -0
  196. package/tests/setup/test-utils.ts +72 -0
  197. package/tests/setup/views/ActiveUsers.ts +8 -0
  198. package/tests/setup/views/UserSummary.ts +11 -0
  199. package/tests/types/nullable-queryable-record.spec.ts +145 -0
  200. package/tests/utils/result-parser-perf.spec.ts +210 -0
  201. package/tests/utils/result-parser.spec.ts +701 -0
  202. package/docs/expressions.md +0 -172
  203. package/docs/queries.md +0 -444
  204. package/docs/schema.md +0 -245
@@ -3,13 +3,13 @@ import type { ColumnMeta, ColumnPrimitive } from "../../types/column";
3
3
  import type { ExprInput } from "../../expr/expr-unit";
4
4
  import type { DataRecord } from "../../types/db";
5
5
  /**
6
- * 컬럼 정의 빌더
6
+ * Column definition builder
7
7
  *
8
- * Fluent API를 통해 컬럼의 타입, nullable, autoIncrement, default, 설명을 정의
9
- * TableBuilder.columns()에서 사용
8
+ * Fluent API를 통해 column의 type, nullable, autoIncrement, default, description을 definition
9
+ * TableBuilder.columns()used in
10
10
  *
11
- * @template TValue - 컬럼 타입
12
- * @template TMeta - 컬럼 메타데이터 타입
11
+ * @template TValue - Column value type
12
+ * @template TMeta - Column Metadata type
13
13
  *
14
14
  * @example
15
15
  * ```typescript
@@ -18,26 +18,26 @@ import type { DataRecord } from "../../types/db";
18
18
  * id: c.bigint().autoIncrement(), // bigint, auto increment
19
19
  * name: c.varchar(100), // varchar(100), required
20
20
  * email: c.varchar(200).nullable(), // varchar(200), nullable
21
- * status: c.varchar(20).default("active"), // varchar(20), default
21
+ * status: c.varchar(20).default("active"), // varchar(20), default value
22
22
  * createdAt: c.datetime().description("생성일시"),
23
23
  * }));
24
24
  * ```
25
25
  *
26
- * @see {@link createColumnFactory} 컬럼 팩토리
27
- * @see {@link TableBuilder} 테이블 빌더
26
+ * @see {@link createColumnFactory} column factory
27
+ * @see {@link TableBuilder} Table builder
28
28
  */
29
29
  export declare class ColumnBuilder<TValue extends ColumnPrimitive, TMeta extends ColumnMeta> {
30
30
  readonly meta: TMeta;
31
31
  /**
32
- * @param meta - 컬럼 메타데이터
32
+ * @param meta - Column Metadata
33
33
  */
34
34
  constructor(meta: TMeta);
35
35
  /**
36
36
  * Auto Increment 설정
37
37
  *
38
- * INSERT 시 자동 증가. INSERT용 타입 추론에서 optional로 처리
38
+ * INSERT 시 Auto increment. INSERT용 Type inference에서 optional로 processing
39
39
  *
40
- * @returns ColumnBuilder 인스턴스
40
+ * @returns new ColumnBuilder instance
41
41
  *
42
42
  * @example
43
43
  * ```typescript
@@ -50,9 +50,9 @@ export declare class ColumnBuilder<TValue extends ColumnPrimitive, TMeta extends
50
50
  /**
51
51
  * Nullable 설정
52
52
  *
53
- * NULL 허용. 타입에 undefined 추가
53
+ * Allow NULL. value 타입에 undefined Add
54
54
  *
55
- * @returns ColumnBuilder 인스턴스
55
+ * @returns new ColumnBuilder instance
56
56
  *
57
57
  * @example
58
58
  * ```typescript
@@ -63,12 +63,12 @@ export declare class ColumnBuilder<TValue extends ColumnPrimitive, TMeta extends
63
63
  nullable: true;
64
64
  }>;
65
65
  /**
66
- * 기본값 설정
66
+ * Default value 설정
67
67
  *
68
- * INSERT 시 미지정 시 사용. INSERT용 타입 추론에서 optional로 처리
68
+ * INSERT 시 value 미지정 시 사용. INSERT용 Type inference에서 optional로 processing
69
69
  *
70
- * @param value - 기본값
71
- * @returns ColumnBuilder 인스턴스
70
+ * @param value - Default value
71
+ * @returns new ColumnBuilder instance
72
72
  *
73
73
  * @example
74
74
  * ```typescript
@@ -80,14 +80,14 @@ export declare class ColumnBuilder<TValue extends ColumnPrimitive, TMeta extends
80
80
  default: typeof value;
81
81
  }>;
82
82
  /**
83
- * 컬럼 설명 설정
83
+ * column set description
84
84
  *
85
- * @param desc - 컬럼 설명 (DDL 주석으로 사용)
86
- * @returns ColumnBuilder 인스턴스
85
+ * @param desc - Column description (DDL Comment으로 사용)
86
+ * @returns new ColumnBuilder instance
87
87
  *
88
88
  * @example
89
89
  * ```typescript
90
- * createdAt: c.datetime().description("레코드 생성 일시")
90
+ * createdAt: c.datetime().description("레코드 Generate 일시")
91
91
  * ```
92
92
  */
93
93
  description(desc: string): ColumnBuilder<TValue, TMeta & {
@@ -95,46 +95,46 @@ export declare class ColumnBuilder<TValue extends ColumnPrimitive, TMeta extends
95
95
  }>;
96
96
  }
97
97
  /**
98
- * 컬럼 빌더 팩토리 생성
98
+ * Column builder factory Generate
99
99
  *
100
- * TableBuilder.columns()에서 사용하는 컬럼 타입 팩토리
101
- * 모든 기본 데이터 타입에 대한 빌더 생성 메서드 제공
100
+ * TableBuilder.columns()used in하는 Column type factory
101
+ * 모든 Basic data type에 대한 builder Generate method 제공
102
102
  *
103
- * @returns 컬럼 타입별 빌더 생성 메서드를 포함한 객체
103
+ * @returns Column type별 builder Generate 메서드를 포함한 object
104
104
  *
105
105
  * @example
106
106
  * ```typescript
107
107
  * Table("User")
108
108
  * .columns((c) => ({
109
- * // 숫자 타입
109
+ * // Number type
110
110
  * id: c.bigint().autoIncrement(),
111
111
  * count: c.int(),
112
112
  * price: c.decimal(10, 2),
113
113
  *
114
- * // 문자열 타입
114
+ * // 문자열 type
115
115
  * name: c.varchar(100),
116
116
  * code: c.char(10),
117
117
  * content: c.text(),
118
118
  *
119
- * // 날짜/시간 타입
119
+ * // Date/시간 type
120
120
  * createdAt: c.datetime(),
121
121
  * birthDate: c.date(),
122
122
  * startTime: c.time(),
123
123
  *
124
- * // 기타 타입
124
+ * // Other type
125
125
  * isActive: c.boolean(),
126
126
  * data: c.binary(),
127
127
  * uuid: c.uuid(),
128
128
  * }));
129
129
  * ```
130
130
  *
131
- * @see {@link ColumnBuilder} 컬럼 빌더 클래스
131
+ * @see {@link ColumnBuilder} Column builder class
132
132
  */
133
133
  export declare function createColumnFactory(): {
134
134
  /**
135
- * INT 컬럼 (4 bytes, -2^31 ~ 2^31-1)
135
+ * INT column (4 bytes, -2^31 ~ 2^31-1)
136
136
  *
137
- * @returns ColumnBuilder 인스턴스
137
+ * @returns ColumnBuilder instance
138
138
  */
139
139
  int(): ColumnBuilder<number, {
140
140
  type: "number";
@@ -143,9 +143,9 @@ export declare function createColumnFactory(): {
143
143
  };
144
144
  }>;
145
145
  /**
146
- * BIGINT 컬럼 (8 bytes, -2^63 ~ 2^63-1)
146
+ * BIGINT column (8 bytes, -2^63 ~ 2^63-1)
147
147
  *
148
- * @returns ColumnBuilder 인스턴스
148
+ * @returns ColumnBuilder instance
149
149
  */
150
150
  bigint(): ColumnBuilder<number, {
151
151
  type: "number";
@@ -154,9 +154,9 @@ export declare function createColumnFactory(): {
154
154
  };
155
155
  }>;
156
156
  /**
157
- * FLOAT 컬럼 (4 bytes, 단정밀도 부동소수점)
157
+ * FLOAT column (4 bytes, 단정밀도 부동소수점)
158
158
  *
159
- * @returns ColumnBuilder 인스턴스
159
+ * @returns ColumnBuilder instance
160
160
  */
161
161
  float(): ColumnBuilder<number, {
162
162
  type: "number";
@@ -165,9 +165,9 @@ export declare function createColumnFactory(): {
165
165
  };
166
166
  }>;
167
167
  /**
168
- * DOUBLE 컬럼 (8 bytes, 배정밀도 부동소수점)
168
+ * DOUBLE column (8 bytes, 배정밀도 부동소수점)
169
169
  *
170
- * @returns ColumnBuilder 인스턴스
170
+ * @returns ColumnBuilder instance
171
171
  */
172
172
  double(): ColumnBuilder<number, {
173
173
  type: "number";
@@ -176,11 +176,11 @@ export declare function createColumnFactory(): {
176
176
  };
177
177
  }>;
178
178
  /**
179
- * DECIMAL 컬럼 (고정 소수점)
179
+ * DECIMAL column (고정 소수점)
180
180
  *
181
181
  * @param precision - 전체 자릿수
182
- * @param scale - 소수점 이하 자릿수 (선택)
183
- * @returns ColumnBuilder 인스턴스
182
+ * @param scale - 소수점 이하 자릿수 (Select)
183
+ * @returns ColumnBuilder instance
184
184
  *
185
185
  * @example
186
186
  * ```typescript
@@ -196,10 +196,10 @@ export declare function createColumnFactory(): {
196
196
  };
197
197
  }>;
198
198
  /**
199
- * VARCHAR 컬럼 (가변 길이 문자열)
199
+ * VARCHAR column (가변 길이 문자열)
200
200
  *
201
201
  * @param length - 최대 길이
202
- * @returns ColumnBuilder 인스턴스
202
+ * @returns ColumnBuilder instance
203
203
  *
204
204
  * @example
205
205
  * ```typescript
@@ -214,10 +214,10 @@ export declare function createColumnFactory(): {
214
214
  };
215
215
  }>;
216
216
  /**
217
- * CHAR 컬럼 (고정 길이 문자열)
217
+ * CHAR column (고정 길이 문자열)
218
218
  *
219
219
  * @param length - 고정 길이
220
- * @returns ColumnBuilder 인스턴스
220
+ * @returns ColumnBuilder instance
221
221
  *
222
222
  * @example
223
223
  * ```typescript
@@ -232,9 +232,9 @@ export declare function createColumnFactory(): {
232
232
  };
233
233
  }>;
234
234
  /**
235
- * TEXT 컬럼 (대용량 문자열)
235
+ * TEXT column (대용량 문자열)
236
236
  *
237
- * @returns ColumnBuilder 인스턴스
237
+ * @returns ColumnBuilder instance
238
238
  */
239
239
  text(): ColumnBuilder<string, {
240
240
  type: "string";
@@ -243,11 +243,11 @@ export declare function createColumnFactory(): {
243
243
  };
244
244
  }>;
245
245
  /**
246
- * BINARY 컬럼 (바이너리 데이터)
246
+ * BINARY column (바이너리 data)
247
247
  *
248
248
  * DBMS별: MySQL=LONGBLOB, MSSQL=VARBINARY(MAX), PostgreSQL=BYTEA
249
249
  *
250
- * @returns ColumnBuilder 인스턴스
250
+ * @returns ColumnBuilder instance
251
251
  */
252
252
  binary(): ColumnBuilder<Bytes, {
253
253
  type: "Bytes";
@@ -256,11 +256,11 @@ export declare function createColumnFactory(): {
256
256
  };
257
257
  }>;
258
258
  /**
259
- * BOOLEAN 컬럼
259
+ * BOOLEAN column
260
260
  *
261
261
  * DBMS별: MySQL=TINYINT(1), MSSQL=BIT, PostgreSQL=BOOLEAN
262
262
  *
263
- * @returns ColumnBuilder 인스턴스
263
+ * @returns ColumnBuilder instance
264
264
  */
265
265
  boolean(): ColumnBuilder<boolean, {
266
266
  type: "boolean";
@@ -269,9 +269,9 @@ export declare function createColumnFactory(): {
269
269
  };
270
270
  }>;
271
271
  /**
272
- * DATETIME 컬럼 (날짜 + 시간)
272
+ * DATETIME column (Date + 시간)
273
273
  *
274
- * @returns ColumnBuilder 인스턴스
274
+ * @returns ColumnBuilder instance
275
275
  */
276
276
  datetime(): ColumnBuilder<DateTime, {
277
277
  type: "DateTime";
@@ -280,9 +280,9 @@ export declare function createColumnFactory(): {
280
280
  };
281
281
  }>;
282
282
  /**
283
- * DATE 컬럼 (날짜만)
283
+ * DATE column (Date만)
284
284
  *
285
- * @returns ColumnBuilder 인스턴스
285
+ * @returns ColumnBuilder instance
286
286
  */
287
287
  date(): ColumnBuilder<DateOnly, {
288
288
  type: "DateOnly";
@@ -291,9 +291,9 @@ export declare function createColumnFactory(): {
291
291
  };
292
292
  }>;
293
293
  /**
294
- * TIME 컬럼 (시간만)
294
+ * TIME column (시간만)
295
295
  *
296
- * @returns ColumnBuilder 인스턴스
296
+ * @returns ColumnBuilder instance
297
297
  */
298
298
  time(): ColumnBuilder<Time, {
299
299
  type: "Time";
@@ -302,11 +302,11 @@ export declare function createColumnFactory(): {
302
302
  };
303
303
  }>;
304
304
  /**
305
- * UUID 컬럼
305
+ * UUID column
306
306
  *
307
307
  * DBMS별: MySQL=BINARY(16), MSSQL=UNIQUEIDENTIFIER, PostgreSQL=UUID
308
308
  *
309
- * @returns ColumnBuilder 인스턴스
309
+ * @returns ColumnBuilder instance
310
310
  */
311
311
  uuid(): ColumnBuilder<Uuid, {
312
312
  type: "Uuid";
@@ -316,15 +316,15 @@ export declare function createColumnFactory(): {
316
316
  }>;
317
317
  };
318
318
  /**
319
- * 컬럼 빌더 레코드 타입
319
+ * Column builder record type
320
320
  *
321
- * TableBuilder.columns()의 반환 타입으로 사용
321
+ * TableBuilder.columns()의 return 타입으로 사용
322
322
  */
323
323
  export type ColumnBuilderRecord = Record<string, ColumnBuilder<ColumnPrimitive, ColumnMeta>>;
324
324
  /**
325
- * 컬럼 빌더 레코드에서 실제 타입 추론
325
+ * Column builder 레코드에서 실제 value Type inference
326
326
  *
327
- * @template T - 컬럼 빌더 레코드 타입
327
+ * @template T - Column builder record type
328
328
  *
329
329
  * @example
330
330
  * ```typescript
@@ -336,37 +336,37 @@ export type InferColumns<TBuilders extends ColumnBuilderRecord> = {
336
336
  [K in keyof TBuilders]: TBuilders[K] extends ColumnBuilder<infer V, any> ? V : never;
337
337
  };
338
338
  /**
339
- * 컬럼 빌더 레코드에서 표현식 입력 타입 추론
339
+ * Column builder 레코드에서 expression 입력 Type inference
340
340
  *
341
- * @template T - 컬럼 빌더 레코드 타입
341
+ * @template T - Column builder record type
342
342
  */
343
343
  export type InferColumnExprs<TBuilders extends ColumnBuilderRecord> = {
344
344
  [K in keyof TBuilders]: TBuilders[K] extends ColumnBuilder<infer V, any> ? ExprInput<V> : never;
345
345
  };
346
346
  /**
347
- * INSERT 시 필수 컬럼 추출
347
+ * INSERT 시 required column key 추출
348
348
  *
349
- * autoIncrement, nullable, default가 없는 컬럼만 필수
349
+ * autoIncrement, nullable, default가 없는 column만 required
350
350
  *
351
- * @template T - 컬럼 빌더 레코드 타입
351
+ * @template T - Column builder record type
352
352
  */
353
353
  export type RequiredInsertKeys<TBuilders extends ColumnBuilderRecord> = {
354
354
  [K in keyof TBuilders]: TBuilders[K]["meta"] extends infer M extends ColumnMeta ? M["autoIncrement"] extends true ? never : M["nullable"] extends true ? never : M["default"] extends undefined ? K : never : never;
355
355
  }[keyof TBuilders];
356
356
  /**
357
- * INSERT 시 선택적 컬럼 추출
357
+ * INSERT 시 optional column key 추출
358
358
  *
359
- * autoIncrement, nullable, default가 있는 컬럼은 optional
359
+ * autoIncrement, nullable, default가 있는 column은 optional
360
360
  *
361
- * @template T - 컬럼 빌더 레코드 타입
361
+ * @template T - Column builder record type
362
362
  */
363
363
  export type OptionalInsertKeys<TBuilders extends ColumnBuilderRecord> = Exclude<keyof TBuilders, RequiredInsertKeys<TBuilders>>;
364
364
  /**
365
- * INSERT용 타입 추론
365
+ * INSERT용 Type inference
366
366
  *
367
- * 필수 컬럼은 required, optional 컬럼은 Partial
367
+ * required column은 required, optional column은 Partial
368
368
  *
369
- * @template T - 컬럼 빌더 레코드 타입
369
+ * @template T - Column builder record type
370
370
  *
371
371
  * @example
372
372
  * ```typescript
@@ -376,17 +376,17 @@ export type OptionalInsertKeys<TBuilders extends ColumnBuilderRecord> = Exclude<
376
376
  */
377
377
  export type InferInsertColumns<TBuilders extends ColumnBuilderRecord> = Pick<InferColumns<TBuilders>, RequiredInsertKeys<TBuilders>> & Partial<Pick<InferColumns<TBuilders>, OptionalInsertKeys<TBuilders>>>;
378
378
  /**
379
- * UPDATE용 타입 추론
379
+ * UPDATE용 Type inference
380
380
  *
381
- * 모든 컬럼이 optional
381
+ * 모든 column이 optional
382
382
  *
383
- * @template T - 컬럼 빌더 레코드 타입
383
+ * @template T - Column builder record type
384
384
  */
385
385
  export type InferUpdateColumns<TBuilders extends ColumnBuilderRecord> = Partial<InferColumns<TBuilders>>;
386
386
  /**
387
- * 데이터 레코드에서 컬럼 빌더 레코드로 변환
387
+ * data 레코드에서 Column builder 레코드로 Transform
388
388
  *
389
- * @template TData - 데이터 레코드 타입
389
+ * @template TData - data record type
390
390
  */
391
391
  export type DataToColumnBuilderRecord<TData extends DataRecord> = {
392
392
  [K in keyof TData as TData[K] extends ColumnPrimitive ? K : never]: ColumnBuilder<TData[K] extends ColumnPrimitive ? TData[K] : never, any>;
@@ -1,6 +1,6 @@
1
1
  class ColumnBuilder {
2
2
  /**
3
- * @param meta - 컬럼 메타데이터
3
+ * @param meta - Column Metadata
4
4
  */
5
5
  constructor(meta) {
6
6
  this.meta = meta;
@@ -8,9 +8,9 @@ class ColumnBuilder {
8
8
  /**
9
9
  * Auto Increment 설정
10
10
  *
11
- * INSERT 시 자동 증가. INSERT용 타입 추론에서 optional로 처리
11
+ * INSERT 시 Auto increment. INSERT용 Type inference에서 optional로 processing
12
12
  *
13
- * @returns ColumnBuilder 인스턴스
13
+ * @returns new ColumnBuilder instance
14
14
  *
15
15
  * @example
16
16
  * ```typescript
@@ -23,9 +23,9 @@ class ColumnBuilder {
23
23
  /**
24
24
  * Nullable 설정
25
25
  *
26
- * NULL 허용. 타입에 undefined 추가
26
+ * Allow NULL. value 타입에 undefined Add
27
27
  *
28
- * @returns ColumnBuilder 인스턴스
28
+ * @returns new ColumnBuilder instance
29
29
  *
30
30
  * @example
31
31
  * ```typescript
@@ -36,12 +36,12 @@ class ColumnBuilder {
36
36
  return new ColumnBuilder({ ...this.meta, nullable: true });
37
37
  }
38
38
  /**
39
- * 기본값 설정
39
+ * Default value 설정
40
40
  *
41
- * INSERT 시 미지정 시 사용. INSERT용 타입 추론에서 optional로 처리
41
+ * INSERT 시 value 미지정 시 사용. INSERT용 Type inference에서 optional로 processing
42
42
  *
43
- * @param value - 기본값
44
- * @returns ColumnBuilder 인스턴스
43
+ * @param value - Default value
44
+ * @returns new ColumnBuilder instance
45
45
  *
46
46
  * @example
47
47
  * ```typescript
@@ -53,14 +53,14 @@ class ColumnBuilder {
53
53
  return new ColumnBuilder({ ...this.meta, default: value });
54
54
  }
55
55
  /**
56
- * 컬럼 설명 설정
56
+ * column set description
57
57
  *
58
- * @param desc - 컬럼 설명 (DDL 주석으로 사용)
59
- * @returns ColumnBuilder 인스턴스
58
+ * @param desc - Column description (DDL Comment으로 사용)
59
+ * @returns new ColumnBuilder instance
60
60
  *
61
61
  * @example
62
62
  * ```typescript
63
- * createdAt: c.datetime().description("레코드 생성 일시")
63
+ * createdAt: c.datetime().description("레코드 Generate 일시")
64
64
  * ```
65
65
  */
66
66
  description(desc) {
@@ -70,43 +70,43 @@ class ColumnBuilder {
70
70
  function createColumnFactory() {
71
71
  return {
72
72
  /**
73
- * INT 컬럼 (4 bytes, -2^31 ~ 2^31-1)
73
+ * INT column (4 bytes, -2^31 ~ 2^31-1)
74
74
  *
75
- * @returns ColumnBuilder 인스턴스
75
+ * @returns ColumnBuilder instance
76
76
  */
77
77
  int() {
78
78
  return new ColumnBuilder({ type: "number", dataType: { type: "int" } });
79
79
  },
80
80
  /**
81
- * BIGINT 컬럼 (8 bytes, -2^63 ~ 2^63-1)
81
+ * BIGINT column (8 bytes, -2^63 ~ 2^63-1)
82
82
  *
83
- * @returns ColumnBuilder 인스턴스
83
+ * @returns ColumnBuilder instance
84
84
  */
85
85
  bigint() {
86
86
  return new ColumnBuilder({ type: "number", dataType: { type: "bigint" } });
87
87
  },
88
88
  /**
89
- * FLOAT 컬럼 (4 bytes, 단정밀도 부동소수점)
89
+ * FLOAT column (4 bytes, 단정밀도 부동소수점)
90
90
  *
91
- * @returns ColumnBuilder 인스턴스
91
+ * @returns ColumnBuilder instance
92
92
  */
93
93
  float() {
94
94
  return new ColumnBuilder({ type: "number", dataType: { type: "float" } });
95
95
  },
96
96
  /**
97
- * DOUBLE 컬럼 (8 bytes, 배정밀도 부동소수점)
97
+ * DOUBLE column (8 bytes, 배정밀도 부동소수점)
98
98
  *
99
- * @returns ColumnBuilder 인스턴스
99
+ * @returns ColumnBuilder instance
100
100
  */
101
101
  double() {
102
102
  return new ColumnBuilder({ type: "number", dataType: { type: "double" } });
103
103
  },
104
104
  /**
105
- * DECIMAL 컬럼 (고정 소수점)
105
+ * DECIMAL column (고정 소수점)
106
106
  *
107
107
  * @param precision - 전체 자릿수
108
- * @param scale - 소수점 이하 자릿수 (선택)
109
- * @returns ColumnBuilder 인스턴스
108
+ * @param scale - 소수점 이하 자릿수 (Select)
109
+ * @returns ColumnBuilder instance
110
110
  *
111
111
  * @example
112
112
  * ```typescript
@@ -117,10 +117,10 @@ function createColumnFactory() {
117
117
  return new ColumnBuilder({ type: "number", dataType: { type: "decimal", precision, scale } });
118
118
  },
119
119
  /**
120
- * VARCHAR 컬럼 (가변 길이 문자열)
120
+ * VARCHAR column (가변 길이 문자열)
121
121
  *
122
122
  * @param length - 최대 길이
123
- * @returns ColumnBuilder 인스턴스
123
+ * @returns ColumnBuilder instance
124
124
  *
125
125
  * @example
126
126
  * ```typescript
@@ -131,10 +131,10 @@ function createColumnFactory() {
131
131
  return new ColumnBuilder({ type: "string", dataType: { type: "varchar", length } });
132
132
  },
133
133
  /**
134
- * CHAR 컬럼 (고정 길이 문자열)
134
+ * CHAR column (고정 길이 문자열)
135
135
  *
136
136
  * @param length - 고정 길이
137
- * @returns ColumnBuilder 인스턴스
137
+ * @returns ColumnBuilder instance
138
138
  *
139
139
  * @example
140
140
  * ```typescript
@@ -145,63 +145,63 @@ function createColumnFactory() {
145
145
  return new ColumnBuilder({ type: "string", dataType: { type: "char", length } });
146
146
  },
147
147
  /**
148
- * TEXT 컬럼 (대용량 문자열)
148
+ * TEXT column (대용량 문자열)
149
149
  *
150
- * @returns ColumnBuilder 인스턴스
150
+ * @returns ColumnBuilder instance
151
151
  */
152
152
  text() {
153
153
  return new ColumnBuilder({ type: "string", dataType: { type: "text" } });
154
154
  },
155
155
  /**
156
- * BINARY 컬럼 (바이너리 데이터)
156
+ * BINARY column (바이너리 data)
157
157
  *
158
158
  * DBMS별: MySQL=LONGBLOB, MSSQL=VARBINARY(MAX), PostgreSQL=BYTEA
159
159
  *
160
- * @returns ColumnBuilder 인스턴스
160
+ * @returns ColumnBuilder instance
161
161
  */
162
162
  binary() {
163
163
  return new ColumnBuilder({ type: "Bytes", dataType: { type: "binary" } });
164
164
  },
165
165
  /**
166
- * BOOLEAN 컬럼
166
+ * BOOLEAN column
167
167
  *
168
168
  * DBMS별: MySQL=TINYINT(1), MSSQL=BIT, PostgreSQL=BOOLEAN
169
169
  *
170
- * @returns ColumnBuilder 인스턴스
170
+ * @returns ColumnBuilder instance
171
171
  */
172
172
  boolean() {
173
173
  return new ColumnBuilder({ type: "boolean", dataType: { type: "boolean" } });
174
174
  },
175
175
  /**
176
- * DATETIME 컬럼 (날짜 + 시간)
176
+ * DATETIME column (Date + 시간)
177
177
  *
178
- * @returns ColumnBuilder 인스턴스
178
+ * @returns ColumnBuilder instance
179
179
  */
180
180
  datetime() {
181
181
  return new ColumnBuilder({ type: "DateTime", dataType: { type: "datetime" } });
182
182
  },
183
183
  /**
184
- * DATE 컬럼 (날짜만)
184
+ * DATE column (Date만)
185
185
  *
186
- * @returns ColumnBuilder 인스턴스
186
+ * @returns ColumnBuilder instance
187
187
  */
188
188
  date() {
189
189
  return new ColumnBuilder({ type: "DateOnly", dataType: { type: "date" } });
190
190
  },
191
191
  /**
192
- * TIME 컬럼 (시간만)
192
+ * TIME column (시간만)
193
193
  *
194
- * @returns ColumnBuilder 인스턴스
194
+ * @returns ColumnBuilder instance
195
195
  */
196
196
  time() {
197
197
  return new ColumnBuilder({ type: "Time", dataType: { type: "time" } });
198
198
  },
199
199
  /**
200
- * UUID 컬럼
200
+ * UUID column
201
201
  *
202
202
  * DBMS별: MySQL=BINARY(16), MSSQL=UNIQUEIDENTIFIER, PostgreSQL=UUID
203
203
  *
204
- * @returns ColumnBuilder 인스턴스
204
+ * @returns ColumnBuilder instance
205
205
  */
206
206
  uuid() {
207
207
  return new ColumnBuilder({ type: "Uuid", dataType: { type: "uuid" } });